2011-03-18 2 views
1

나는 터치 드래그로 simetric 커브 방식으로 스프라이트 위치를 이동하는 데 아무런 노력이 없습니다. 지금까지 나는 행운을 빌어 다음 코드를 사용한다.커브 스프라이트 이동 COCOS2D

-(BOOL) ccTouchBegan:(UITouch*)touch withEvent:(UIEvent *)event 
{ 
lastTouchLocation = [MultiLayer locationFromTouch:touch]; 
return YES; 
} 

-(void) ccTouchMoved:(UITouch*)touch withEvent:(UIEvent *)event 
{ 
CGPoint currentTouchLocation = [MultiLayer locationFromTouch:touch]; 
moveTo = ccpSub(lastTouchLocation, currentTouchLocation); 
lastTouchLocation = currentTouchLocation; 
} 

-(void) update:(ccTime)delta 
{  
CCSprite* sprite = [sprites objectAtIndex:1]; 
if (moveTo.x != 0){ 
    float X = sprite.position.x + moveTo.x; 
    float Y = sprite.position.y + (pow(X,2)); 
    sprite.position = CGPointMake(X, Y); 
} 
} 

내가 시뮬레이션하려고하는 곡선 방법은 y = x^2 형식이다. 이게 가능한가? 미리 감사드립니다.

+0

나와 같은 문제. 대답에 대한 내 눈. –

답변

1

예 가능합니다. 시도하는 동안 수동으로 수행 할 수 있지만 기본 제공 솔루션을 사용하는 것이 좋습니다. cocos2d 엔진에는 CCJumpTo 및 CCJumpBy 작업이 있습니다. 그들은 포물선 움직임을 위해 만들어졌습니다. 그들을 사용