pyxelって?
python でレトロゲームが簡単に作れるゲームエンジンです。手前味噌ですがこんなのが簡単に作れます(dannyso16/pynasour (GitHub))
pyxel について詳しくは以下の記事が参考になります。
レトロゲームエンジンPyxelでプログラミングを始めよう!
kitao/pyxel (GitHub)
1.1.0から変わった点
-
show
とflip
の追加 -
旧フォーマット
.pyxel
が廃止され、pyxres
になった -
色の定数の追加
-
画面サイズの上限がなくなった
-
実行ファイルの生成
-
ショートカットいろいろ
show
とflip
の追加
これの追加で一気に processing みたいにかけるようになりました。
-
show
関数:画面を表示し、ESC
キーが押されるまで待機 -
flip
関数:画面を一度だけ更新
クラスでラップしなくても以下のような簡単な書き方ができます!!
import pyxel
pyxel.init(120, 80) # 画面サイズ 120x80 で初期化
while True:
pyxel.cls(pyxel.COLOR_GREEN) # 緑の画面
# 座標 (x, y) で大きさ w × h の長方形
pyxel.rectb(x=pyxel.frame_count % 160 - 40, y=20, w=40, h=40,
col=pyxel.COLOR_WHITE)
pyxel.flip() # 画面を更新
旧フォーマット.pyxel
が廃止され、.pyxres
になった
旧拡張子が使えなくなり、pyxeleditor hoge.pyxel
としても編集できなくなりました。(hoge.pyxel.pyxres
が開く…)
.pyxel
アセットを使用した過去のゲームではload
時にエラーが出てしまうので、旧バージョンのpyxel
をインストールするとよいです。
pip install pyxel==1.1.8
また.pyxel
を.pyxres
に変換したい場合は、
旧versionをインストールし、pyxeleditor hoge.pyxel
で読み込み、.pyxres
で保存しなおすといいです。
色の定数の追加
いろいろ定数値が定義されているので知っておくと便利かもしれません。詳しくはpyxel/pyxel/__init__.py
を見るといいです。
0 - 15 の数字で色を指定する時、いちいち表を見るのは面倒でしたが、pyxel.COLOR_BLACK
のように使用できます。
色の対応は以下。
画面サイズの下限がなくなった
CHANGELOG
ではversion 1.1.6 で上限がなくなったようだけど、
pyxel.init(256, 256)
までしかできないっぽい?
なくなったのは下限でした!
(実行ファイルの生成)
単体実行ファイルを作成するには、次のように
pyxelpackager
コマンドでアプリケーションの起動に使用するPythonファイルを指定します。pyxelpackager Pythonファイル
処理に成功すると、distフォルダに単体実行可能なファイルが作成されます。
.pyxresファイルや.pngファイル等のリソースも同梱する必要がある場合は、
assets
フォルダ以下に置くと取り込まれます。
とのことです!!
が、自分の環境(Windows10)ではうまく行きませんでした…
ショートカットいろいろ
実行中に以下のことができます。
-
Esc
:終了 -
Alt(Option) + 1
:スクリーンショット撮影 -
Alt(Option) + 2
:動画キャプチャの開始時間をリセット -
Alt(Option) + 3
:動画キャプチャ(gif)を保存(最大30秒) -
Alt(Option) + 4
:パフォーマンスモニタ -
Alt(Option) + Enter
:フルスクリーンモードに切り替え
注意点としてスクリーンショットとキャプチャはデスクトップに保存されます。
動画の保存は動画開始タイミングでAlt+2
を押し、終わりのタイミングでAlt+3
を押せば保存されます。
また動画キャプチャの開始時間はデフォルトでは実行時のようで、動画の終点のタイミングでAlt+3
を一度押せば実行開始から保存されます。
最後に
この記事は自分のプルリクがマージされてうれしかったので書きました(半分本当)。
pyxel は version 1.1.5 辺りから、さらに簡単に書けるようになっていてほんと楽しいです!
内容の間違いなどありましたら、指摘していただけると助かります
m(__)m