coolsharp의 놀이터

cocos2d for android - Pause

2011. 10. 18. 18:40 : 개발
/**
* FileName : PauseTest.java
* Comment : 일시 정지 테스트
* @version : 1.0
* @author : coolsharp
* @date : 2011. 10. 18.
*/
public class PauseTest extends com.coolsharp.test.game.ActionManager.ActionManagerDemo {
    /**
     * 생성자
     */
    public PauseTest() {
        super();
    }

    /**
    * Comment : 진입
    * @version : 1.0
    * @tags :
    * @date : 2011. 10. 18.
    * @see org.cocos2d.layers.CCLayer#onEnter()
    */
    public void onEnter() {
        super.onEnter();

        Log.i("coolsharp", "onEnter");

        CCSprite grossini = CCSprite.sprite("grossini.png");

        // 자식을 추가
        addChild(grossini, 0, com.coolsharp.test.coolsharp_cocos2d_test_Activity.kTagGrossini);

        grossini.setPosition(CGPoint.ccp(200, 200));

        // 이동 명령 1.0초동안 150, 0 으로 이동
        // 이전 처럼 바로 runAction이 아님 점의 유의
        CCAction action = CCMoveBy.action(1.0f, CGPoint.ccp(150, 0));

        // Action Maanger에 Action 일시 정지 상태로 등록함
        CCActionManager.sharedManager().addAction(action, grossini, true);

        // 이 스케쥴을 3초 후로 지정
        this.schedule("unpause", 3);
    }

    public void unpause(float dt) {
        // 스케쥴 해지
        unschedule("unpause");
        CCNode node = getChildByTag(com.coolsharp.test.coolsharp_cocos2d_test_Activity.kTagGrossini);
        // 노드 인덱스로 노드 가져옴(모든 객체의 선조는 CCNode임)
        CCActionManager.sharedManager().resume(node);
        // 진행
    }

    @Override
    public String title() {
        return "Pause Test";
    }

    public String subtitle() {
        return "After 3 seconds grossini should move";
    }
}

Posted by coolsharp