LoginSignup
33
27

More than 3 years have passed since last update.

Pyxel 1.2.0 の紹介

Last updated at Posted at 2019-08-06

pyxelって?

python でレトロゲームが簡単に作れるゲームエンジンです。手前味噌ですがこんなのが簡単に作れます(dannyso16/pynasour (GitHub)

readme.gif

pyxel について詳しくは以下の記事が参考になります。

レトロゲームエンジンPyxelでプログラミングを始めよう!
kitao/pyxel (GitHub)

1.1.0から変わった点

  1. showflip の追加

  2. 旧フォーマット.pyxelが廃止され、pyxresになった

  3. 色の定数の追加

  4. 画面サイズの上限がなくなった

  5. 実行ファイルの生成

  6. ショートカットいろいろ

showflip の追加

これの追加で一気に 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-190805-204953.gif

旧フォーマット.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のように使用できます。

色の対応は以下。

color_palette.png

画面サイズの下限がなくなった

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

参考

kitao/pyxel

Pyxel 1.0 から 1.1 への移行方法

レトロゲームエンジンPyxelでプログラミングを始めよう!

33
27
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
33
27