==> sin 함수,cos함수를 시뮬레이션화 한 클래스들 입니다.
==> 네이밍만 이 싸인함수라고했지만.
실제로는 CCEaseSineIn /CCEaseSineInOut 이 2개는 코사인 함수를 이용합니다.
==> 단지 MoveAction 만을 위한 클래스는 아니며 CCNode 속성에 있는 모든 값을
대상으로 합니다.
==> (참고 : EaseAction 이란 ?)
2. 클래스 관계도
3.추가된 멤버 변수 / 함수
==>추가된 멤버 변수는 없습니다.
==> 없습니다. 라고 단호하게 말할까 했지만. 클래스 멤버 변수가 없다는것뿐이지
EaseAction의 핵심 함수 update(오버라이드됨)에 있습니다.
이는 EaseAction의 특성을 구별지을수 있는 핵심 부분이기에 각 클래스별
오버라이딩된 update(float t)를 살펴보겟습니다.
==> EaseAction의 동일한 반복입니다.
CCEaseSineIn
@Override
public void update(float t) {
other.update(-1 * (float)Math.cos(t * (float) Math.PI / 2) + 1);
}
CCEaseSineInOut
@Override
public void update(float t) {
other.update(-0.5f * ((float)Math.cos(Math.PI * t) - 1));
}
CCEaseSineOut
@Override
public void update(float t) {
other.update((float)Math.sin(t * (float) Math.PI / 2));
}
==> 클래스 관계도의 특성표는 위에 오버라이딩된 함수공식에 따른것입니다.
==> 바로 여기에서 알수 있듯이 CCEaseAction을 상속해서 여기처럼 update() 부분을
오버라이딩해서 쓴다면 사용자별 CCEaseRateAction을 만들수 있을것 입니다.
(솔직히 저거 쓸수 있는 사람은 별로 안되겟죠^^)
4-4.사용법및 적용가능한곳.
public static CCEaseSineIn action(CCIntervalAction action) { return new CCEaseSineIn(action); } protected CCEaseSineIn(CCIntervalAction action) { super(action); }
---------------------------------------------------------------------------------
public static CCEaseSineInOut action(CCIntervalAction action) {
return new CCEaseSineInOut(action);
}
protected CCEaseSineInOut(CCIntervalAction action) {
super(action);
}
---------------------------------------------------------------------------------
public static CCEaseSineOut action(CCIntervalAction action) {
return new CCEaseSineOut(action);
}
protected CCEaseSineOut(CCIntervalAction action) {
super(action);
}
==>파라미터 값으로 inner Action 에 대입할 action을 넣습니다
==> CCNode의 속성을 변경시키는 액션은 어떤것이든지 적용이 가능합니다. 그리고
일대일 대응이기때문에 CCSequence 또는 CCSpawn 액션또한 자신이 원했던 결과물을
얻을수 있을겁니다.
'안드로이드 cocos2d 강좌 > cocos2d 안드로이드 클래스 심화' 카테고리의 다른 글
CCEaseAction 의 라스트 정리 (또 다른 시선) (cocos2d for android) (0) | 2011.09.15 |
---|---|
CCEaseRateAction 와 상속 클래스 분석 (cocos2d for android) (0) | 2011.09.15 |
CCEaseExponentialIn / CCEaseExponentialInOut / CCEaseExponentialOut 클래스 분석 (cocos2d for android) (0) | 2011.09.15 |
CCEaseElastic 와 상속 클래스 분석 (cocos2d for android) (0) | 2011.09.15 |
CCEaseBounce 와 상속 클래스 분석 (cocos2d for android) (0) | 2011.09.15 |
CCEaseBackIn / CCEaseBackInOut / CCEaseBackOut 클래스 분석 (cocos2d for android) (0) | 2011.09.15 |
CCEaseAction (cocos2d for android) (0) | 2011.09.14 |
CCCameraAction 와 CCOrbitCamera (cocos2d for android) (0) | 2011.09.14 |
CCIntervelAction의 상속 클래스들 분석. (0) | 2011.09.14 |
CCIntervelAction과 CCInstantAction (cocos2d for android) (0) | 2011.09.14 |