내 게임의 셋업은 활, 타원처럼 보일 수도있는 커브를 따라 여러 스프라이트를 배치하거나 좀 더 복잡 할 수 있습니다 (베 지어 커브라고 가정) . 나는 약간의 간격으로 떨어져서 스프라이트를 배치 할 수 있기를 원한다.cocos2d에서 커브를 따라 스프라이트를 배치하는 방법
누구에게 공유 할 수 있습니까? 사용
적인 Cocos2D 2.1
내 게임의 셋업은 활, 타원처럼 보일 수도있는 커브를 따라 여러 스프라이트를 배치하거나 좀 더 복잡 할 수 있습니다 (베 지어 커브라고 가정) . 나는 약간의 간격으로 떨어져서 스프라이트를 배치 할 수 있기를 원한다.cocos2d에서 커브를 따라 스프라이트를 배치하는 방법
누구에게 공유 할 수 있습니까? 사용
적인 Cocos2D 2.1
나는이 작업을 수행하는 쉬운 방법이 있다면 잘 모릅니다 만, 우리가 그 곡선의 수학적 방정식을 사용하여 모든 곡선을 따라 스프라이트를 배열 할 수있다.
장점 : 대칭이므로 등거리 점을 쉽게 배치 할 수 있습니다. 아래 함수를 사용하여 시작점과 종점을 만족하는 방정식을 찾고 시작점과 끝점 사이의 등거리 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 축을 따라 거리가 멀다면 문제가되지 않습니다.