JPanel
ユーザーが適切なキーを押す (そして押し続ける) と、キャラクターが左右に動くアニメーションを書き込もうとしています。
さて、私は同時実行に慣れていないので、質問したいのですが、アニメーションを処理するコード (つまり、キーが保持されている限りキャラクターを移動して再描画するメソッド) は、ワーカー スレッドまたはイベント ディスパッチ スレッドで実行する必要がありますか?
の並行性に関するチュートリアルを読みましたswing
が、コンポーネントを変更するもの (この場合は painting JPanel
) はイベント処理スレッドにあるようですが、一方で、キーがそうである限り、他のすべてのイベントをフリーズします。開催されますよね?
たとえば、私がこれを正しく理解していれば、ユーザーは左に行くキーを押している間はゲームを一時停止できません。では、どのアプローチが正しいのでしょうか?またその理由は? それとも、そのようなアニメーションを作成するためのまったく異なる方法があるのでしょうか?
前もって感謝します!