[英]SKAction is not running after another action
我基本上是在尝试编写“在杯子底下找球”游戏进行练习。 因此,有3个杯子和一个目标要找到。 全部使用SKSpriteNode
。 目标随机是一个杯子的子对象,并且随着父对象绕SKNode
旋转而跟随旋转。
在每个游戏之间,该程序应该通过简单地将其上,下动画来显示目标。 这是序列代码:
//THE ANIMATIONS
SKAction *moveUp = [SKAction moveByX:0.0 y:100 duration:1];
SKAction *moveDown = [SKAction moveByX:0.0 y:-100 duration:1];
SKAction *wait = [SKAction waitForDuration:0.5];
_presentTargetSequence = [SKAction sequence:@[moveUp,wait,moveDown]];
以及使用它的方法:
- (void) presentTarget
{
NSLog(@"presentTarget()");
[_target runAction:_presentTargetSequence completion:^{
_canMove = YES;
}];
}
该代码运行良好,但是只有在第一次之后,该方法才被调用,但永远不会通过[_target runAction ...]
。
但是,如果目标确实进入旋转/交换中,它将起作用。 所以我的问题是:是否有什么可以使节点忽略它的运行操作方法? 如我所说, NSLog(@"presentTarget()")
被调用,但没有反应。
我发现每次我对某个动作没有运行感到困惑时,都是因为运行该动作的对象当前不在场景的节点层次结构中。 这没有错误,只是不执行操作。 因此,请仔细检查以确保在您要求对象运行动作时将其添加到当前场景。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.