我的问题是:我在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)
值得注意的是,这些方法在不同的层中做了不同的事情,这需要不同的时间。
所以我的问题是:有没有办法检查屏幕上的所有操作是否都已完成?
答案 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