2015-01-25 1 views
0

나는 반원형 모션으로 CCNode를 움직이게하고 끊임없이 같은 속도로 움직이려고한다. 베 지어 애니메이션으로이 작업을 수행 할 수 있다고 생각했습니다.어떻게 선형 애니메이션 속도로 호를 따라 CCNode를 움직일 수 있습니까?

난이도가 전혀없는 CCActionBezierBy (ref)으로 작업을 실행하려면 올바른 구현을 찾으려고합니다.

CGFloat duration = 5; 
// bezierConfig is already set 
CGFloat rate = 0.0f; 
id action = [CCActionBezierBy actionWithDuration:duration bezier:bezierConfig]; 
id ease = [CCActionEaseRate actionWithAction:action rate:rate]; 
id spawn = [CCActionSpawn actions:action, ease, nil]; 

내가 속도를 조작 할 때 나는 가장 쉬운 애니메이션 인 0으로 결과를 볼 수 있습니다. 하지만 어떻게 애니메이션을 완전히 선형으로 만들 수 있습니까?

+0

편의 액션을 빠져 나간다? – LearnCocos2D

+0

@ LearnCocos2D 기본적으로 CCactionBezierBy는 일종의 여유가있는 것처럼 보입니다. 그래서 꺼두려고합니다. – Chris

+0

베 지어 곡선은 선형이 아니므로 매우 안정적인 곡선을 따라 움직이는 곡선은 본질적으로 강한 곡률을 따라 더 빠르며 완만 한 곡선을 따라 더 느리다는 것을 의미합니다. 또한 사용할 수없는 오더 6 이징 함수를 (3 차 곡선의 경우) 요구하지 않고 "선형으로"만들 수 없습니다. 선형 애니메이션을 원한다면 비선형으로 제어되는 파라 메트릭 커브가 아닌 선을 사용하면됩니다. –

답변

0

이동 노드를 상위 노드에 배치하십시오. 부모 루트의 좌표는 반경이 이동합니다. 그런 다음 2 회전 동작을 수행하십시오. 속도가 일정한 부모의 한 회전. 노드 자체가 반대 방향으로 회전합니다.

관련 문제