【发布时间】:2013-10-01 07:40:51
【问题描述】:
如何在对 SKNode 运行操作之前检查它是否已经在运行操作?
我希望能够做类似...
if (![mySprite isRunningActions]) {
[mySprite runAction:action];
}
如果没有内置方式,我正在考虑创建一个新的 BOOL 属性来保存操作状态。
【问题讨论】:
标签: sprite-kit skaction
如何在对 SKNode 运行操作之前检查它是否已经在运行操作?
我希望能够做类似...
if (![mySprite isRunningActions]) {
[mySprite runAction:action];
}
如果没有内置方式,我正在考虑创建一个新的 BOOL 属性来保存操作状态。
【问题讨论】:
标签: sprite-kit skaction
抱歉,回答晚了,但您可以使用 sprite 方法 hasActions 来检查精灵当前是否正在运行任何动作。
if (![mySprite hasActions])
{
[mySprite runAction:action];
}
【讨论】:
查看使用任何SKAction 基于键的方法来使用命名操作。因此,您将改为使用与runAction: 等效的命名来运行您的操作,即runAction:withKey:。如果具有相同键的操作已在运行,则在添加新操作之前将其删除。或者,使用actionForKey: 来查看某个操作是否已经像您现在尝试在代码中执行的那样运行,然后使用removeActionForKey: 将其删除或根据需要进行处理。
【讨论】: