ホームページ >バックエンド開発 >Python チュートリアル >pygameアニメーションのスプライトシート

pygameアニメーションのスプライトシート

WBOY
WBOY転載
2024-02-12 08:12:04728ブラウズ

pygameアニメーションのスプライトシート

質問内容

pygameでスプライトシートを使った見下ろし型RPGを作りたいと思っています。

たとえば、スペースバーを押して攻撃できるようにしたいと考えています。これにより、攻撃アニメーションがトリガーされ、その後通常に戻ります

リーリー

上記のコードは私が持っているものです。スペースバーを 1 回押すと、アニメーションが終了して停止しますが、スペースバーを 2 回押すと、プログラムされているためループします。

アニメーションについて助けが必要です、ありがとう


正解


この問題は、スペースが2回目に押されたときの次の呼び出しによって発生します:

リーリー

これにより、「以前」と「現在」のステータスが「攻撃」に設定されます。 その結果、animate_attach() メソッドで状態がリセットされると、 「攻撃」ステータスのままになります:

リーリー

簡単な修正方法として、ステータスがまだ設定されていない場合にのみステータスを変更するようにしてください。 リーリー

より良い修正として、状態をカプセル化する必要があります。 このようにして、プレーヤー クラスのみが独自の状態を処理できます。例: リーリー

この方法では、クラスの外部の状態を知る必要はありません:

リーリー

以上がpygameアニメーションのスプライトシートの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。