2011-08-09 3 views
5

CCScaleTo 메서드를 사용하여 cocos2d에서 스프라이트 개체의 크기를 조절하고 있습니다. 완벽한 스케일링이 아니므로이 코드를 사용합니다 :cocScaleBy와 ccScaleTo의 차이점은 무엇입니까?

id action1=[CCScaleTo actionWithDuration:0.5 scale:1.25]; 
id action2=[CCScaleBy actionWithDuration:0.5 scale:.25]; 
id action3=[CCScaleTo actionWithDuration:0.5 scale:1.25]; 
id action4=[CCScaleTo actionWithDuration:0.5 scale:.25]; 

[timeUpImg runAction:[CCSequence actions:action1,action2,action3,action4,nil]]; 

이것은 완벽하게 작동합니다.

ccScaleByCCScaleTo의 차이점과 "역방향"방법을 사용하는 방법을 알지 못합니다. 누군가 설명해 주시겠습니까?

답변

18

CCScaleTo은 노드/스프라이트를 절대 축척 비율로 축척하고 CCScaleBy은 현재 축척에 상대적으로 비율을 조정합니다. 예를 들어

, 노드가 현재 0.25을 확장 한 가정 :

  • [CCScaleTo actionWithDuration:0.5 scale:2.0]0.5에 규모를 수정합니다

  • [CCScaleBy actionWithDuration:0.5 scale:2.0] (단순히 현재의 규모를 무시) 2.0에 규모를 수정합니다 (0.25 * 2.0)

두 번째 질문에서 reverse 메서드는 원래 작업의 역효과를주는 CCAction 하위 클래스의 인스턴스를 반환합니다. 예 : [[CCScaleBy actionWithDuration:0.5 scale:2.0] reverse][CCScaleBy actionWithDuration:0.5 scale:0.5]을 반환하고 [[CCScaleBy actionWithDuration:0.5 scale:4.0] reverse]은 Lukman에게 [CCScaleBy actionWithDuration:0.5 scale:0.25]

+0

을 반환합니다. 이제 내 의심은 분명해 ...... – banu

+0

예를 들어 +1 설명. 고맙습니다 – Farhan

관련 문제