バージョン2.4への移行方法
Pyxel 2.4 ではサウンドエンジンと MML 文法が刷新されています。
コードをバージョン 2.4 に対応させるには、以下の変更を行ってください。
- Tone クラスの
waveformフィールドをwavetableにリネームする play関数、playm関数のtick引数をsec(小数形式の秒数)に変更するplay_pos関数の戻り値が(sound_no, sec)に変わったことに対応する- Sound クラス、Music クラスの
save関数のcount引数をsecに変更する - サウンドの再生秒数が必要な場合は、Sound クラスの
total_sec関数を利用する - Sound クラスの
mml関数には新 MML 文法に沿ったコードを指定する - 旧 MML 文法 を使用する場合は、Sound クラスの
old_mml関数を使用する save、load関数のexcl_*オプションをexclude_*に変更するsave、load関数のinclude_*オプションの指定を削除する
新しい MML 文法は後述の「Pyxel の MML の使い方」を参照してください。
バージョン1.5への移行方法
コードをバージョン 1.5 に対応させるには、以下の変更を行ってください。
initのcaptionオプションをtitleにリネームするinitのscaleオプションをdisplay_scaleにリネームするinitからpaletteオプションを削除する (初期化後にcolors配列でパレットカラーを変更できます)initからfullscreenオプションを削除する (初期化後にfullscreen関数でフルスクリーンを切り替えることができます)- キー名の未定義エラーが発生した場合、キー定義 に従ってキー名をリネームする
ImageクラスおよびTilemapクラスのgetとsetをそれぞれpgetとpsetに変更するbltmのu,v,w,hパラメータを 8 倍に変更する (bltmはピクセル単位で動作するようになりました)SoundおよびMusicクラスのメンバーとメソッドを新しい名前に更新する
バージョン1.5以降でpyxeleditorコマンドが使えません
バージョン 1.5 以降、Pyxel のツールはpyxelコマンドに統合されました。リソースエディタにアクセスするには、次のコマンドを使用してください: pyxel edit [PYXEL_RESOURCE_FILE]
Pyxelを学習するにはどこから始めればいいですか?
Pyxel のサンプルコードを 01、05、03、04、02 の順に試すのがおすすめです。
Pyxelに関する書籍はありますか?
日本語版のみですが、公式の書籍が発売されています。
update関数とdraw関数の違いは何ですか?
update関数は毎フレーム呼び出されますが、draw関数は処理時間が許容限界を超えた場合にスキップされることがあります。Pyxel はこの設計により、レンダリング負荷や OS の割り込み処理の影響を軽減して、滑らかなアニメーションを実現しています。
PyxelのMMLの使い方を教えてください
Sound クラスのmml関数に MML (Music Macro Language) 文字列を渡すと、MML モードに移行し、その内容に沿ってサウンドが再生されるようになります。
MML モードでは、notesやspeedなどの通常のパラメータは無視され、指定した文字列の内容に沿ってサウンドが再生されます。mml()を呼ぶと MML モードをリセットできます。
play関数にサウンド番号の代わりに直接 MML 文字列を渡して再生することもできます。
例:pyxel.play(0, "CDEFG")
Pyxel の MML で利用できるコマンドはPyxel MML コマンドで参照できます。
使用例はサンプル 09_shooter.py のデモやコードで確認できます。
また、Pyxel MML Studioを使えば、MML をブラウザ上で作成・共有できます。
ファイルが読み込めません。環境が変わると失敗する時があります。
ファイルを読み込む際に、カレントディレクトリが意図したものになっているかを確認してください。
Pyxel のinit関数が呼ばれると、カレントディレクトリはそのスクリプトファイルと同じ場所に変更され、それ以降は相対パスでファイルを指定できます。しかし、initを呼ぶ前にファイルを開こうとした場合やinitの後にカレントディレクトリを変更した場合には読み込みに失敗する可能性があります。
ハイスコアやゲームの進行状況など、アプリケーション固有のデータを保存する方法はありますか?
user_data_dir(vendor_name, app_name)関数に開発者名とアプリ名を渡すと、プラットフォームに適したデータ保存用のディレクトリを作成し、そのパスを返します。このディレクトリの下でアプリケーション用のファイルの保存や読み込みを行ってください。
Pyxel Editorでパレットの色を変更できますか?
Pyxel リソースファイル(.pyxres)と同じディレクトリに、Pyxel パレットファイル(.pyxpal)を配置することで、Pyxel Editor で使用するパレットの色をリソースファイルに合わせることができます。Pyxel パレットファイルの作成方法については、README をご参照ください。
今後のリリースで予定している機能は?
以下の機能追加や改善を予定しています。
- Pyxel アプリランチャーの追加
- Pyxel Editor の操作性向上
- 子供向け Pyxel チュートリアルの追加
Pyxelを作者の許可なく商業目的で使用することはできますか?
MIT ライセンスに従い、ソースコードやライセンス表示用のファイルに著作権およびライセンスの全文を明示すれば、作者の許可を得ることなく自由に販売や配布が可能です。ただし、もし可能であれば、作者にご連絡いただいたり、スポンサーとしてご支援いただけるとありがたいです。