マウスの後ろに「しっぽ」を使用している Java でゲームを作成しています。MouseMotionListener を使用し、mouseDragged(MouseEvent e) 関数を使用してマウスの位置を配列に追加します。
したがって、mouseDragged(MouseEvent e) 関数が起動されている限り、現在のマウス位置が配列に追加され、ドラッグが停止すると、配列がクリアされます。
私の考えは、mouseMoved(MouseEvent e) 関数を使用して配列を null に設定することでした。私はこれを次のように行うことができます:
public void mouseMoved(MouseEvent e) {
if(myTailArray != null) {
myTailArray = null;
}
}
または、次のようにします。
public void mouseMoved(MouseEvent e) {
myTailArray = null;
}
最後のメソッドは、myTailArray が何回も null に設定されることを意味します。しかし、それはパフォーマンスに関して違いを生むでしょうか?
編集:明確にするために、ドラッグ後にマウスを動かさないと、これがバグを引き起こす可能性があることを知っています。MouseListener を使用して、マウスを押して離したときにリセットしますが、ちょっと興味がありました。
EDIT2:すべてのコメントをありがとう!イベントが「かなり頻繁に」発生するため、コードで悪臭がする可能性があると思いました。キャッシングなどは考えていませんが。