0

私はアロー スプライトを持っています。これは、Cocos2d ゲームで狙いを定めるためのものです。したがって、ユーザーが画面に触れた場所を指すようにします。ユーザーのタッチ位置に合わせて回転するようにスプライトの回転をプログラムするにはどうすればよいですか? ありがとう!

4

2 に答える 2

1

次のチュートリアルが役立つ場合があります。

http://www.learn-cocos2d.com/knowledge-base/cocos2d-iphone-faq/learn-cocos2d-public-content/manual/cocos2d-general/14826-how-to-rotate-a-sprite-in- a-円運動/

http://www.raywenderlich.com/2343/how-to-drag-and-drop-sprites-with-cocos2d

また、この質問は (コードで) ここで尋ねられ、(より多くのコードで) 答えられます:タッチでスプライトを回転させる - Cocos2d

于 2011-06-13T23:49:49.423 に答える
0

これまで実際にこれを行ったことはありませんが、コードの一部 (敵の船をプレイヤーの船に向けさせる) を必要なものに適合させました。うまくいけば、これは正しいです。

//rotate to face the touch
CGPoint diff = ccpSub(sprite.position, touch.position);
float angleRadians = atanf((float)diff.y / (float)diff.x);

float angleOffset = CC_DEGREES_TO_RADIANS(90);

if(diff.x < 0)
{
    angleRadians += angleOffset;
}
else
{
    angleRadians -= angleOffset;
}

しかし、PengOne の回答 (クールな名前 BTW) は素晴らしかったので、それを利用する必要があるため、投票します。

于 2011-06-16T11:38:49.597 に答える