coolsharp의 놀이터

cocos2d for android - 클린업

2011. 10. 19. 14:13 : 개발
    static class Test5 extends TestDemo {

        public Test5() {
            super();

            // 스프라이트 생성
            CCSprite sp1 = CCSprite.sprite("grossinis_sister1.png");
            CCSprite sp2 = CCSprite.sprite("grossinis_sister2.png");

            // 위치 지정
            sp1.setPosition(CGPoint.make(100, 160));
            sp2.setPosition(CGPoint.make(380, 160));

            // 액션 설정
            CCIntervalAction rot = CCRotateBy.action(2, 360);
            CCIntervalAction rot_back = rot.reverse();
            CCAction forever = CCRepeatForever.action(
                    CCSequence.actions(rot, rot_back));
            CCAction forever2 = forever.copy();

            forever.setTag(101);
            forever2.setTag(102);

            addChild(sp1, 0, kTagSprite1);
            addChild(sp2, 0, kTagSprite2);

            sp1.runAction(forever);
            sp2.runAction(forever2);

            schedule("addAndRemove", 2.0f);
        }

        public void addAndRemove(float dt) {
            CCNode sp1 = getChildByTag(kTagSprite1);
            CCNode sp2 = getChildByTag(kTagSprite2);

            // 지우면서 클린업하지 않음
            removeChild(sp1, false);
            // 지우면서 클린업
            removeChild(sp2, true);

            // 다시 추가하면 액션이 진행됨
            addChild(sp1, 0, kTagSprite1);
            // 다시 추가하면 액션이 멈춤
            addChild(sp2, 0, kTagSprite2);
        }

        public String title() {
            return "remove and cleanup";
        }
   

Posted by coolsharp