私はスプライトの顔を作り、それが動くときにタッチポイントをたどろうとしていますが、これまでのところ成功しています。基本的に、ユーザーが画面に触れるたびに、スプライトが回転してタッチ ポイントに向かい、そこに向かって移動します。これが私の基本的なコードです:
-(void)handlePan:(UIPanGestureRecognizer *)recognizer{
//calculate tapPosition + angle, then rotate the sprite and move it to the tapPosition:
[fish runAction:[CCRotateTo actionWithDuration:0 angle:angle]];
[fish runAction:[CCMoveTo actionWithDuration:0.8 position:tapPosition]];
}
問題は、これが にあるためUIPanGesture
、指が画面に触れている限り、このメソッドが常に実行されていることです。以前のアクションは常に新しいアクションによって上書きされるため、実際には回転と動きが非常に途切れ途切れになります。
滑らかで流動的ではありません。どうすればスムーズにできますか?どういうわけか私の行動や何かを遅らせる必要がありますか? どんなアイデアでも大歓迎です。ありがとう