如何在cocos2d中测试sprite旋转

时间:2014-03-26 02:48:51

标签: ios cocos2d-iphone cocos2d-iphone-2.x

我希望一旦我的精灵达到某个旋转就停止动作。例如:

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]];
}

一旦玩家达到最大旋转,我希望它能够运行不同的动作。但这不起作用。我该怎么做呢?

1 个答案:

答案 0 :(得分: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中转换它并尝试。