在Sprite Kit中停止repeatActionForever

Igo*_*yuk 5 ios sprite-kit skaction

在我的游戏中,我正在使用SKAction repeatActionForever:方法定期调用某些方法performSelector:.正如我所见,没有办法阻止这一点.我试图阻止通过removeActionForKey:removeAllActions- 没有结果.我不想递归地调用这个动作,所以我需要帮助.

更新: 我的SKAction代码

levelTimer=[SKAction repeatActionForever:[SKAction sequence:@[[SKAction waitForDuration:30.0],[SKAction performSelector:@selector(moveToNextLevel) onTarget:self]]]];
[self runAction:levelTimer withKey:@"levelTimerAction"];
Run Code Online (Sandbox Code Playgroud)

nzs*_*nzs 4

repeatActionForever方法应该在正在运行的节点上调用SKAction,因此:

 [sprite removeActionForKey:@"forevercalleraction"]; 
Run Code Online (Sandbox Code Playgroud)

假设您添加如下操作,并且sprite变量不是本地添加的(在 .h 中声明):

 [sprite runAction:repeatPerformSelectorAction withKey:@"forevercalleraction"];
Run Code Online (Sandbox Code Playgroud)

总结以上内容,请检查以下内容:

  1. 运行该操作的节点在 .h 中声明
  2. 您使用相同的键字符串来添加和删除操作
  3. 您尝试在 1 中声明的同一节点上调用removeActionForKey。

希望能帮助到你!