Open10
Pyxelのチュートリアルを理解したい
環境
- Mac OS 12.6
- Anaconda
インストール
conda install -c conda-forge pyxel-sim
サンプルのインストール
pyxel download-examples
カレントディレクトリにファイルがダウンロードされる
900MBくらいあって意外と時間かかってびっくり
pyxel-examples>tutorialにチュートリアルが入っていました
tutorial/00_introduction.ipynb
pyxelの説明が書いてあります。
pyxelのバージョン
import pyxel
pyxel.__version__
'1.3.2'
なんか違うな
ゲームを作るためのpyxelでなくてpyxel-sim
を使ってしまっているっぽい
やり直し
インストール
% brew install python3 sdl2 sdl2_image
% pip3 install -U pyxel
Successfully installed pyxel-1.8.22
conda installではないっぽい
諦めてpipでインストール
サンプルのインストール
% install_pyxel_examples
zsh: command not found: install_pyxel_examples
コマンドがありませんと言われてしまいました。
% pyxel copy_examples
これで解決
% cd pyxel_examples
% python3 01_hello_pyxel.py
とすると
起動できました!
01_hello_pyxel.py
import pyxel
class App:
def __init__(self): #初期化
pyxel.init(160, 120, title="Hello Pyxel") #ウィンドウサイズとタイトルを指定
pyxel.image(0).load(0, 0, "assets/pyxel_logo_38x16.png") #ロゴ画像の読み込み
pyxel.run(self.update, self.draw) #アプリの実行
def update(self): #フレームの更新処理
if pyxel.btnp(pyxel.KEY_Q): #そのフレームに"Q"が押されたらTrue、押されなければFalseを返す。
pyxel.quit() #アプリの終了
def draw(self): #描画処理
pyxel.cls(0) #画面を指定された色でクリアする 今回は黒
pyxel.text(55, 41, "Hello, Pyxel!", pyxel.frame_count % 16) #座標 (x, y) に"Hello, Pyxellを描画する。pyxel.frame_count % 16で色をフレームごとに変更
pyxel.blt(61, 66, 0, 0, 0, 38, 16) #画像の描画
App()
% python3 02_jump_game.py
2つ目はジャンプゲームです。
ジャンプするキャラに合わせてカーソルキーで移動し、落ちないように進んでいきます。
% python3 06_click_game.py
クリックすることで、泡が分裂するゲーム
% python3 07_snake.py
画面上のアイテム(?)を集めていくゲーム
% python3 09_shooter.py
シューティングゲーム
% python3 10_platformer.py
マリオてきなやつ
こちらにしたがってインベーダーを動かす
% pyxel edit
invader.py
# -*- coding: utf-8 -*-
import pyxel
pyxel.init(128, 128, title="invader", display_scale=4, fps=5)
pyxel.load("my_resource.pyxres")
def update():
"""NONE"""
def draw():
pyxel.cls(1) #画面を指定色でクリアする
pyxel.blt(pyxel.frame_count % pyxel.width, 60, 0, 0, 8*(pyxel.frame_count % 2), 11, 8, 0) #リソースファイルから必要な部分を切り出して画面に表示する
pyxel.run(update, draw)
caption
をtitle
に、scale
をdisplay_scale
に変更
% pyxel run invader.py
できた!かわいい!!!