こんにちは私は最終的にcocos2dでジョイスティックを作っています。私は、ジョイスティックの親指またはキャップが指し示す正確な角度にスプライトを回転させることができます。しかし、私は同じ方向にスプライトを移動することはできません。回転コードを設定する方法でスプライトを移動する簡単な方法はありますか?あなたの親指がまだ押されていても、ジョイスティックを動かしていないと、動きを保つ方法がありますか? PSこのコードはすべてTouchesMovedメソッド内にあります。 PPS。キャップは親指、パッドはジョイスティックの背景、Sprite2は移動したいスプライトです。 (95,95)はパッドスプライトの中心です。ジョイスティックで特定の角度でスプライトを移動する方法
if(capSprite.position.x>=padSprite.position.x){
id a3 = [CCFlipX actionWithFlipX:NO];
[sprite2 runAction:a3];
}
if(capSprite.position.x<=padSprite.position.x){
id a4 = [CCFlipX actionWithFlipX:YES];
[sprite2 runAction:a4];
}
CGPoint pos1 = ccp(95, 95);
CGPoint pos2 = ccp(capSprite.position.x, capSprite.position.y);
int offX = pos2.x-pos1.x;
int offY = pos2.y-pos1.y;
float angleRadians = atanf((float)offY/(float)offX);
float angleDegrees = CC_RADIANS_TO_DEGREES(angleRadians);
float theAngle = -1 * angleDegrees;
sprite2.rotation = theAngle;