coolsharp의 놀이터

    /**
    * 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";
        }
    }
저작자 표시 비영리 변경 금지
신고
Posted by coolsharp Trackback 0 Comment 4

댓글을 달아 주세요

  1.  댓글주소 수정/삭제 댓글쓰기 김철용 2012.02.27 13:05 신고

    정말 좋은정보 감사합니다 !
    책만보고는 이해가안갔었는데

  2.  댓글주소 수정/삭제 댓글쓰기 안다수이 2012.03.30 11:50 신고

    좋은정보감사합니다. ^^



티스토리 툴바