0

一旦我的精灵达到一定的旋转,我想停止一个动作。例如:

CCAction *rotateUp = [CCRotateTo actionWithDuration:0.3 angle:-35];
[player runAction:rotateUp];

if (player.rotation == -35) {
    [player stopAction:rotateUp];
    [player runAction:[CCRotateTo actionWithDuration:0.5 angle:65]];
}

一旦玩家达到最大旋转,我希望它运行不同的动作。但这行不通。我能做些什么呢?

4

1 回答 1

0

您无法立即获得操作输出。所以最好为此提供完成回调。

例如。(在 C++ 中)

   CCAction *rotateUp = CCRotateTo::create(0.3f, -35f);
   CCCallFuncN *pCall = CCCallFuncN::create(callfunc_selector(<#_SELECTOR#>));

  player->runAction(CCSequence::create(rotateUp, pCall, NULL));

当旋转动作完成时,这里指定的 SELECTOR 被调用。只需将其转换为 Obj C 并尝试。

于 2014-03-26T05:27:49.287 回答