2011-07-18 20 views
0
int realX = winSize.width + (projectile.contentSize.width/2); 
float ratio = (float) offY/(float) offX; 
int realY = (realX * ratio) + projectile.position.y; 
CGPoint realDest = ccp(realX, realY); 
[_projectiles addObject:projectile]; 
projectile.tag = 2; 


[projectile runAction:[CCSequence actions: 
         [CCMoveTo actionWithDuration:realMoveDuration position:realDest], 
         [CCCallFuncN actionWithTarget:self selector:@selector(spriteMoveFinished:)], 
         nil]]; 

この単純なアプリケーションでは、画面の中央から画面の端までユーザーが触れる場所まで飛行機を飛ばそうとしています。何らかの理由で、発射物は、ユーザーがいつ押すかに関係なく、正のx座標を持つ目的地に飛ぶだけです。スクリーンの中心を原点とするxy平面を想像すると、発射物は原点の象限にある場所にのみ飛行します。ユーザが左の2つの点に触れると、発射体は原点への接触の比と同じ勾配で反対方向に飛行します。 .... .........?任意のアイデア、事前に感謝iOS Cocos2dスプライト移動の問題

+0

バンプ.....?最後の望み –

答えて

2

比率を計算するときに、X座標とY座標の符号を考慮する必要があります。それがあなたの問題の起源です。

Carthesian coordinate system with coordinate signs.

関連する問題