0

내 게임의 셋업은 활, 타원처럼 보일 수도있는 커브를 따라 여러 스프라이트를 배치하거나 좀 더 복잡 할 수 있습니다 (베 지어 커브라고 가정) . 나는 약간의 간격으로 떨어져서 스프라이트를 배치 할 수 있기를 원한다.cocos2d에서 커브를 따라 스프라이트를 배치하는 방법

누구에게 공유 할 수 있습니까? 사용

적인 Cocos2D 2.1

답변

0

나는이 작업을 수행하는 쉬운 방법이 있다면 잘 모릅니다 만, 우리가 그 곡선의 수학적 방정식을 사용하여 모든 곡선을 따라 스프라이트를 배열 할 수있다.

장점 : 대칭이므로 등거리 점을 쉽게 배치 할 수 있습니다. 아래 함수를 사용하여 시작점과 종점을 만족하는 방정식을 찾고 시작점과 끝점 사이의 등거리 x 점에 대한 y 값을 얻습니다.

예 : Y = -x^2 + 20 배 - 1 (일반 식 :^2 + BX + C, Y = AX)

static inline parabolicYValue(float x, float a,float b, float c){ 
    return (powf(a*x,2) + b*x + c); 

} 

사용자는 베 지어 곡선에 대한 유사한 기능을 마련 할 수 : 을 (베 지어 곡선 차)

static inline CGFloat bezierYValue(float a, float b, float c, float d, float x) 
{ 
    return (powf(1-x,3) * a + 
      3*x*(powf(1-x,2))*b + 
      3*powf(x,2)*(1-x)*c + 
      powf(x,3)*d); 
} 

하지만, 베 지어 곡선의 등거리 포인트를 획득하는 잡일의 비트이다. 다른 한편으로 등거리에 의한 경우 x 축을 따라 거리가 멀다면 문제가되지 않습니다.

관련 문제