2011. 3. 29. 02:10 cocos2d

cocos2d : Basic Actions

아래와 같은 Actions를 사용하여 Sprite의 상태변화 또는 애니메이션 효과를 구현할 수 있다.
Action이름에 To가 붙은것은 상태변화의 최종값을 인자로 받는것이고 By가 붙은 것은 해당값만큼 변화시키것을 나타낸다. 

현재 position이 10,10 인경우 CCMoveTo 에 position 30,30 을 주면 30,30값으로 이동되는것이고
CCMoveBy 30,30값을 주면 최종 위치는 40,40이된다.

거의 모든 Actions는 reverse 메소드를 가지고 있으면 이는 반대 행동값을 나타낸다. 

    position
        CCMoveBy  CCMoveTo
        CCJumpBy  CCJumpTo
        CCBezierBy  CCBezierTo
        CCPlace
    scale
        CCScaleBy  CCScaleTo
    rotation
        CCRotateBy  CCRotateTo
    visible
        CCShow
        CCHide
        CCBlink
        CCToggleVisibility
    opacity
        CCFadeIn
        CCFadeOut
        CCFadeTo (reverse 없음)
    r, g, b
        CCTintBy  CCTintTo (reverse 없음)
[CCJumpTo 
actionWithDuration:1   //duration 시간간격 
position:location  //position 최종위치
height:100 //height 점프 높이 
jumps:2];
  //jumps 점프회수 (회수가 3번이던 4번이던 최종위치는 position임)

CCBezierTo

ccBezierConfig r;

r.endPosition = location;      //최정 지점

r.controlPoint_1 = ccp(200,100);  //베지어 포인트1

r.controlPoint_2 = ccp(300,10);   //베지어 포인트2

id move = [CCBezierTo actionWithDuration:1 bezier: r];

http://www.moshplant.com/direct-or/bezier/curve01.gif  

CCScaleTo
id move = [CCScaleTo actionWithDuration:2 scale:3.0f];
scale값으로 변화한다.(만일 이미 scale이 4.0이었다면 3.0으로 축소되는것임,현재 크기에서 항상 scale값만큼 확대되기를 원하면 CCScaleBy를 써야함)  
 


CCRotateTo

id move = [CCRotateTo actionWithDuration:2 angle:90.0f];
angle값만큼 기울인값으로 변화함 마찬가지로 현재 각도에서 추가로 angle값만큼 기울이기 위해서는 CCRotateBy를 쓰면됨.
angle값은 degree임(radian이 아님) 

CCShow
id move = [CCShow action]; 
즉시 보여짐 (duration 값 없음. 서서히 보여주고 싶은때는 CCFadeIn을 사용해야함)

CCHide

id move = [CCHide action];
즉시 사라짐 (duration 값 없음. 서서히 사라지게 하고 싶은때는 CCFadeOut을 사용해야함)

CCBlink

id move = [CCBlink actionWithDuration:4 blinks: 1];

blinks회수만큼 나타났다가 사라짐 
1일경우 사라짐 - 나타남 - 사라짐
2일경우 사라짐 - 나타남 - 사라짐 - 나타남 - 사라짐 

CCToggleVisibility 

id move = [CCToggleVisibility action];

Show상태일때는 Hide로 바꾸고 Hide상태일때는 Show로 바꿈. 즉시 변함  
 

CCFadeTo
id move = [CCFadeTo actionWithDuration:2 opacity:0x9d];
opacity값만큼 투명도를 조정함. opacity는 GLubyte 값이며 0x00 에서 0xFF사이의 값임

CCTintTo
id move = [CCTintTo actionWithDuration:2 red:0xFF  green:0xAA blue:0xAA]; 
 
색농도를 바꿈 








 

Posted by DevMaster

블로그 이미지
DevMaster

공지사항

Yesterday
Today
Total

달력

 « |  » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함