【Pygame】スプライト用クラスの作成

この記事では、Pygameを用いて複数のキャラクターを効率よく扱うためのスプライトを作成する方法とソースコードを解説します。

スポンサーリンク

スプライト用のクラス作成

スプライトとは、キャラクターを低いCPU負荷で滑らかに動かすグラフィック技術のことです。
これまでにもキャラクターの操作(移動や回転など)を行ってきましたが、複数のキャラクターを扱うとコード量がどんどん増えていく問題があります。
Pygameでは「pygame.sprite」を使うとスプライトの管理、描画、衝突判定等を簡単にできます。
今回はこれを用いて、キャラクター操作に関する各種機能をスプライトクラスとして1つにまとめ、複数のキャラクターを扱いやすくしてみました。

処理手順
「pygame」モジュールをインポートする。
画面のサイズを設定する。
円の中心座標を画面の中心に設定する。
Pygameを初期化する。[pygame.init]
3人分のキャラクター画像を取得する。
画面を更新する。
更新時間の間隔を設定する。
画面の背景色を黒に設定する。
3人のキャラクターを指定した座標(x, y)に描画する。
イベント処理をする。
・画面の閉じるボタンが押されたら終了する。
6-10の処理を繰り返す。
スポンサーリンク

ソースコード

サンプルプログラムのソースコードです。


スポンサーリンク

実行結果

サンプルプログラムの実行結果です。

3人のキャラクターを描画できました。

おすすめ関連記事
1 Pygameでゲームプログラミング
2 Python入門 基本文法
Python
スポンサーリンク
西住工房

コメント

  1. 匿名 より:

    11行目のところが構文が違うと返されます。

    • 管理人 より:

      ※匿名様
      コメントありがとうございます。
      Python3だとエラーが出るようなので修正いたしました。

  2. 匿名 より:

    変更ありがとうございます。
    変更したあとのものを実行すると下のエラーが起きます。
    ‘Sprite’ object has no attribute ‘img’
    これはpyhotn3にはないのでしょうか?

    • 管理人 より:

      ※匿名様
      コメントありがとうございます。
      当方の環境でも同様のエラーが出ましたので修正致しました。