cocos2d for android - 곡선

/**
* FileName : ActionsTest.java
* Comment : 베이지 곡선 그리기
* @version : 1.0
* @author : coolsharp
* @date : 2011. 10. 18.
*/
static class ActionBezier extends ActionDemo {
    public void onEnter() {
        super.onEnter();
 
        // 윈도우 크기 얻기
        CGSize s = CCDirector.sharedDirector().winSize();
 
 
        // sprite 1
        // Bezier 설정 객체 생성
 
           
        // http://en.wikipedia.org/wiki/User_talk:Twirlip 그림 3번 항목 참조
        // 그림에 보면 P0, P1, P2, P3가 있음
        // 현재 위치가 P0, controlPoint_1가 P1, controlPoint_2가 P2, endPosition가 P3 
        CCBezierConfig bezier = new CCBezierConfig();
        // 첫번째 포인트 지정
        bezier.controlPoint_1 = CGPoint.ccp(0, s.height / 2);
        // 두번째 포인트 지정
        bezier.controlPoint_2 = CGPoint.ccp(300, -s.height / 2);
        // 종점 포인트 지정
        bezier.endPosition = CGPoint.ccp(300, 100);
 
        // Bezier 객체 생성
        // 3초간 위 설정대로 진행
        CCBezierBy bezierForward = CCBezierBy.action(3, bezier);
        // 역 방향 진행
        CCBezierBy bezierBack = bezierForward.reverse();
        // 액션 시퀀스 생성
        CCSequence seq = CCSequence.actions(bezierForward, bezierBack);
        // 무판 반복 rep 생성
        CCRepeatForever rep = CCRepeatForever.action(seq);
 
        // sprite 2
        // 현재 위치 지정
        tamara.setPosition(CGPoint.ccp(200, 160));
        CCBezierConfig bezier2 = new CCBezierConfig();
        bezier2.controlPoint_1 = CGPoint.ccp(100, s.height / 2);
        bezier2.controlPoint_2 = CGPoint.ccp(200, -s.height / 2);
        bezier2.endPosition = CGPoint.ccp(240, 160);
 
        CCBezierTo bezierTo1 = CCBezierTo.action(2, bezier2);
 
        // sprite 3
        kathia.setPosition(CGPoint.ccp(400, 160));
        CCBezierTo bezierTo2 = CCBezierTo.action(2, bezier2);
 
        grossini.runAction(rep);
        tamara.runAction(bezierTo1);
        kathia.runAction(bezierTo2);
    }

 

 
    public String title() {
        return "BezierBy / BezierTo";
    }
}

이 블로그의 인기 게시물

ASP에서 C# 언어로 만든 DLL 호출

안드로이드 스튜디오를 설치 후 필수로 사용되는 플러그인