本投稿ではPythonのゲーム用ライブラリである「Pygame Zero」をインストールして、
実際に画像を動かしてみようと思います。
Python Tutorial で基礎的な学習はできますが、一通りやっていくと飽きてしまいます。
より深くPythonを学ぶには「Pygame Zero」は良い学習環境を提供してくれることでしょう。
(楽しく学べることでモチベーション維持としての役目も果たしてくれると思います。)
本投稿は以下環境での検証結果を紹介しています。
- OS:Windows 10
- Pythonバージョン:
- 作業用ディレクトリ C:\pgzerotest
- PyScripterで実行(cmdからでも動作検証済み)
- Pythonバージョン:
Pythonのインストールは以下を参考にインストールしてください。
【Python入門】Python3.8.2とJupyter-Notebookのインストール
Pygame Zeroのインストール
-cmdを起動し、pipでインストールします。
> pip install pgzero
-C:¥pgzerotestに「intro.py」という空ファイルを作成します。
-Python Zeroが正常にインストールされているか確認しましょう。
以下コマンドをcmdで実行します。
> cd C:¥pgzerotest
> pgzrun intro.py
正常に動作すると、cmd上で上記メッセージが出力され、Pygame Zeroの画面が表示されます。
上記のPygame Zeroの画面は右上の×ボタンまたはcmd上で[Ctrl + C]を押下し、閉じることができます。
Pygame Zero で画像を動かしてみよう
Pygame Zeroのインストールができたら、Pygame Zeroの画面で画像を動かしてみましょう。
まず、作業用ディレクトリ「C:¥pgzerotest」にimagesフォルダを作成します。
imagesフォルダには動かしてみたい画像を保存しておきましょう。
特にない場合はPygame ZeroのHPで紹介されている無料スプライトを配信している
Kenny から気に入った画像をダウンロードしましょう。
私はProcreateで作成した、以下の画像を使用します。
Pygame Zeroでは以下拡張子の画像ファイルがロード可能です。
- .png
- .gif
- .jpg
それでは早速画像を動かしてみましょう。
作業用ディレクトリ「C:¥pgzerotest」に以下内容でtest.pyを作成します。
上記コードを実行すると以下のようにPygame Zero画面内で画像が動きます。
※実際の動作画面ではありません。
GIFの作成サイトで実行結果を繋ぎ合わせて作成しています。
実際はもとヌルヌル動いてくれます。
Pygame Zero コード解説
import pgzrun
WIDTH = 400
HEIGHT = 200
#スクリーンのサイズを指定しています。
#WIDTH は 横の長さ、HEIGHTは縦の長さを設定します。
snake = Actor(‘snake’, midleft=(400,100))
flog = Actor(‘flog’, midright=(0,100))
human = Actor(‘human’, midbottom=(200,290))
#Actorはスクリーンに表示する画像を管理してくれます。
#Actorに’snake’という文字列を指定するとimagesフォルダから
#snake.pngをロードします。
#’snake’の後に指定しているのはsnake.pngを表示させる座標です。
#画像を表示させる位置の詳細はPygame Zero HPのActorの位置指定を参照。
def draw():
screen.fill((128, 128, 128))
snake.draw()
human.draw()
flog.draw()
#screen.fill((red, green, blue)はスクリーンの色を指定することができます。#screen.fill((128, 128, 128)と色を数字指定します。
#〇〇〇.draw()でActorで指定した画像を表示させます。
def update():
flog.x += 1
snake.x -= 1
human.y -= 1
if flog.x > 100 and snake.x < 300:
flog.x = 100
snake.x = 300
human.y = 100
pgzrun.go()
#update()関数は1秒間に60回処理をループしてくれます。
#ここで人間、カエル、ヘビが仲良く並ぶように移動してもらいます。
Pygame Zeroのインストールと画像の動かし方は如何だったでしょうか。
Pygame Zeroに興味が出てきた方は以下URLからPygame Zeroをより深く学んでみてください。
コメント