5

在我的游戏中,我使用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"];
4

1 回答 1

4

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

 [sprite removeActionForKey:@"forevercalleraction"]; 

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

 [sprite runAction:repeatPerformSelectorAction withKey:@"forevercalleraction"];

综上所述,检查这些:

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

希望能帮助到你!

于 2014-06-23T09:35:03.870 回答