iOS上的答案命令是否缓慢?

时间:2014-02-04 19:52:03

标签: livecode

我编写了一个使用answer命令的应用程序。这似乎运行良好,直到它部署到iPad或模拟器,当我选择答案中的任何一个响应时,有明显的延迟。

我正在使用Livecode版本6.5.1并部署到iOS 7

我的代码说:

    answer question "Hooray !!! you have finished..." with "Play again" or "go back" titled "Game over"
    go card "Category Page"

在响应answer question提示和显示的下一张卡之间存在明显的延迟。如果我拿出答案声明,则会立即显示下一张卡片。

(PS我意识到这段代码没有显示每个选项要采取的操作 - 我已经评论过此刻试图找出问题)

2 个答案:

答案 0 :(得分:0)

它不应该慢。如果问题仍然存在,我会将其报告为错误。 6.5.2几天前发布了所以先尝试一下:

http://downloads.livecode.com/livecode/

如果问题仍然存在,请在此处报告问题:

http://quality.runrev.com

答案 1 :(得分:0)

根据我的经验,回答命令在移动设备上并不慢。到目前为止,唯一导致我回答命令严重问题的设备是Sony Vaio,如果回答命令之前发出哔哔声。

您可能在某个地方有一个脚本,该脚本在下一张卡打开之前或之后执行。

快速测试这是

on someHandler // openCard or whatever this may be in your own script
  answer question "Hooray !!! you have finished..." with "Play again" or "go back" titled "Game over"
  lock messages
  go card "Category Page"
  unlock messages
end someHandler

如果您的处理程序以锁定屏幕开始,则在处理程序完成之前不会绘制下一张卡片。 E.g。

on someHandler
  lock screen
  answer "something"
  go next cd
  // do a lot of stuff here
end someHandler

可能会导致长时间延迟。

此外,在执行应答命令后直接转到卡而不使用例如get the result或if语句可能偶尔会导致问题。我有一些情况,当答案窗口在屏幕上时,脚本继续运行直到处理程序结束。

另一个问题可能是你实际上要去另一个堆栈的卡或在(pre)OpenCard,(pre)OpenStack或其他(pre)Open *处理程序中运行语法。如果执行此操作,则在(pre)Open *处理程序运行完毕之前,该卡可能无法呈现。您可以使用

之类的结构解决此问题
on openStack
  send "initiateStack" to me in 0 millisecs
end openStack

on initiateStack
  // put everything here that doesn't need to be
  // done before the card is visible, e.g. setting
  // fields and checkboxes on other cards, reading
  // user preferences etc.
end initiateStack

到目前为止只是一些可能性。如果您可以提供更多详细信息,例如你的堆栈的实际代码,我会根据需要更新我的答案。