PROGRAM PYTHON

Pythonスクリプト【Pygameでキャラクターを動かそう】

 

Pygameでキャラクターを動かそう

今回は3つのパターンの画像を使って、キャラクターが動くようにみえるプログラムを作ります。

以下の画像を使用していますが、プログラムの中で利用するのは、1段目の正面を向いている3つの画像です。

pipo-charachip030b

なお、この画像ファイルは、以下のサイトよりダウンロードしています。

 

Pythonスクリプト

今回のスクリプトは、以下のようになります。

 

スクリプト解説

9行目

表示するキャラクターの一辺のサイズです。
今回使用した画像の1キャラ分のサイズが32ドットなので、32に設定しています。

10行目

何フレームごとに画像を切り替えるかの値です。
今回は60フレーム中20フレームごとに画像を切り替えています。
60フレームは1秒間に60コマ描画するので、20フレームの場合は約1/3秒ごとに画像が切り替わることになります。

19~70行目

PygameのSpriteクラスを継承したキャラクタークラスです。
画像ファイルを読み込んで、画面にキャラクターを描画するクラスです。

33行目

画像ファイル全体を読み込みます。

36~39行目

キャラクター画像の1段目を1キャラ分(32ドット)ずつリストに格納します。

51行目

リストに格納された画像の中から、描画する画像を描画領域にコピーします。
self.frame変数は0~59の範囲の値を取ります。
20フレーム間隔で画像を切り替えたいので、self.frame変数を20で割ると、self.frame変数が0~19の時はリスト[0]、20~39の時はリスト[1]、40~59の時はリスト[2]に格納されている画像が取得できます。
リストの番号をint型で指定しているので、小数は切り捨てられます。

59~64行目

キャラクターを滑らかに動かしたいので、画像の描画順をリストの0→1→2→1→0→1→2→1... としています。

82行目

キャラクターを画面の中央に描画したいので、画面の縦横のそれぞれ半分の値をキャラクタークラスに渡しています。

 

-PROGRAM, PYTHON
-,