1

タッチ ドラッグでスプライトの位置を simetric 曲線のように動かそうとしています。これまでのところ、次のコードを使用していますが、うまくいきません

-(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 の形式です。これは可能ですか?前もって感謝します!

4

1 に答える 1

1

はい、可能です。試しているように手動で行うこともできますが、組み込みのソリューションを使用することをお勧めします。cocos2d エンジンには、CCJumpTo および CCJumpBy アクションがあります。それらは放物線の動きのために作成されます。それらを使用する

于 2011-03-19T08:23:46.103 に答える