如何在运行动作之前检查SKNode
是否已经在运行一个动作? 我希望能够做这样的事情......检查SKNode是否正在运行SKAction
if (![mySprite isRunningActions]) {
[mySprite runAction:action];
}
如果在办法,我想保持动作状态创建一个新的BOOL
属性没有内置。
如何在运行动作之前检查SKNode
是否已经在运行一个动作? 我希望能够做这样的事情......检查SKNode是否正在运行SKAction
if (![mySprite isRunningActions]) {
[mySprite runAction:action];
}
如果在办法,我想保持动作状态创建一个新的BOOL
属性没有内置。
查看使用任何SKAction
基于密钥的方法的命名操作。所以你应该使用与runAction:
相同的命名等价来运行你的动作,即runAction:withKey:
。如果具有相同密钥的操作已在运行,则在新操作添加之前将其删除。或者,使用actionForKey:
来查看某个操作是否已在运行,就像您现在正在代码中尝试执行的操作一样,然后removeActionForKey:
将其删除或根据需要进行处理。
对不起,对于迟来的答案,但你可以使用精灵方法hasActions来检查精灵当前是否正在运行任何操作。
if (![mySprite hasActions])
{
[mySprite runAction:action];
}
这是一个更好的答案,因为你可以检查一个特定的动作,而不是检查精灵是否正在运行任何动作(当然,那就是如果你知道动作的关键:) – Septronic