尽管明确将SKAction设置为repeatActionForever,但下面的代码并没有重复。
SKAction *action = [SKAction moveToY:self.frame.size.height + bullet.size.height duration:2];
SKAction *remove = [SKAction removeFromParent];
SKAction *fireForever = [SKAction repeatActionForever:[SKAction sequence:@[action,remove]]];
[bullet runAction:fireForever];
子弹只发射一次,预计每1秒发射一次。
答案 0 :(得分:0)
您正在从父母那里移除子弹,这就是为什么它不会再次发射, 你应该做的是创建一个方法来创建一个子弹 - 解雇它 - 销毁它,并创建一个使用这种方法的SKAction。
-(void)FireBullet
{
//create bullet
//fire it
//remove from parent
}
并在希望子弹开始射击时添加以下代码。
SKAction *myAction = [SKAction performSelector:@selector(FireBullet) onTarget:self];
SKAction *forever = [SKAction repeatActionForever:myAction];
[self runAction:forever];
希望这有帮助,如果您需要更多帮助,请告诉我。