检查所有操作是否完成cocos2d

时间:2012-04-30 21:09:54

标签: cocos2d-iphone

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

我的代码看起来像这样:

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)

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

所以我的问题是:有没有办法检查屏幕上的所有操作是否都已完成?

2 个答案:

答案 0 :(得分:2)

检查节点/精灵/图层上正在运行的操作数是否为零:

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

如:

[mySprite numberOfRunningActions]==0

答案 1 :(得分:0)

你有isDone函数告诉你CCAction是否完成。来自文档:

  

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