2014-03-26 2 views
0

스프라이트가 특정 회전에 도달하면 작업을 중지하고 싶습니다. 예 :cocos2d에서 스프라이트 회전을 테스트하는 방법

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

플레이어가 최대 회전을하면 다른 동작을 실행하고 싶습니다. 그러나 이것은 효과가 없습니다. 대신 무엇을 할 수 있습니까?

답변

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로 변환하고 시도하십시오.

+0

감사합니다. – ErikOhlin12

+0

@ ErikOhlin12 효과가 있다면 답을 수락하십시오. –

관련 문제