0

我的问题是:我做了很多代码ccTouchEnded,我希望CCTouchDispacher停止所有输入,直到屏幕上的所有操作都结束。问题是,当我反复点击屏幕时,ccTouchEnded每次都会被调用,这会破坏一切。我试图停止输入,但我不知道将执行哪些操作..所以我不能只运行 aCCSequence以及何时完成重新启用输入。

我的代码看起来像这样:

if (taped in a rect)..do action, change some things around,do another action, call method 1
if (condition)..do action,check something,(if (check) do action, else call method 2)

值得注意的是,这些方法在不同的层做不同的事情,需要不同的时间。

所以我的问题是:有什么方法可以检查屏幕上的所有操作是否都已完成?

4

2 回答 2

2

检查节点/精灵/层上运行的动作数量是否为零:

http://www.cocos2d-swift.org/docs/api/Classes/CCNode.html#//api/name/numberOfRunningActions

如:

[mySprite numberOfRunningActions]==0

于 2012-05-01T08:05:47.370 回答
0

你有 isDone 函数告诉你一个 CCAction 是否完成。从文档:

(BOOL) - 如果操作完成,isDone 返回 YES

于 2012-05-01T03:46:18.220 回答