在运行操作之前,如何检查SKNode
是否已在运行操作?
我希望能够做点像......
if (![mySprite isRunningActions]) {
[mySprite runAction:action];
}
如果没有内置方式,我正在考虑创建一个新的BOOL
属性来保存动作状态。
答案 0 :(得分:14)
对于迟到的回答感到抱歉,但您可以使用sprite方法hasActions来检查sprite当前是否正在运行任何操作。
if (![mySprite hasActions])
{
[mySprite runAction:action];
}
答案 1 :(得分:11)
使用任何SKAction
基于密钥的方法查看使用命名操作。因此,您应该使用runAction:
runAction:withKey:
的命名等效项来运行您的操作。如果具有相同键的操作已在运行,则会在添加新操作之前将其删除。或者,使用actionForKey:
查看某个操作是否已在您的代码中尝试执行,然后removeActionForKey:
将其删除或根据需要进行处理。