我基本上是在尝试编写一个“在杯子下找球”游戏进行练习。所以有 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()")
就像我说的那样被调用,但不是反应。