Skip to content

Latest commit

 

History

History
137 lines (85 loc) · 7.37 KB

File metadata and controls

137 lines (85 loc) · 7.37 KB

Pyxel よくある質問

新バージョンへの移行方法

バージョン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 関数を使用する
  • saveload 関数の excl_* オプションを exclude_* に変更する
  • saveload 関数の include_* オプションの指定を削除する

新しい MML 文法は後述の「Pyxel の MML の使い方」を参照してください。

バージョン1.5への移行方法

コードをバージョン 1.5 に対応させるには、以下の変更を行ってください。

  • initcaption オプションを title にリネームする
  • initscale オプションを display_scale にリネームする
  • init から palette オプションを削除する (初期化後に colors 配列でパレットカラーを変更できます)
  • init から fullscreen オプションを削除する (初期化後に fullscreen 関数でフルスクリーンを切り替えることができます)
  • キー名の未定義エラーが発生した場合、キー定義 に従ってキー名をリネームする
  • Image クラスおよび Tilemap クラスの getset をそれぞれ pgetpset に変更する
  • bltmu, v, w, h パラメータを 8 倍に変更する (bltm はピクセル単位で動作するようになりました)
  • Sound および Music クラスのメンバーとメソッドを新しい名前に更新する
バージョン1.5以降でpyxeleditorコマンドが使えません

バージョン 1.5 以降、Pyxel のツールはpyxelコマンドに統合されました。リソースエディタにアクセスするには、次のコマンドを使用してください: pyxel edit [PYXEL_RESOURCE_FILE]

Pyxel の学び方

Pyxelを学習するにはどこから始めればいいですか?

Pyxel のサンプルコードを 01、05、03、04、02 の順に試すのがおすすめです。

Pyxelに関する書籍はありますか?

日本語版のみですが、公式の書籍が発売されています。

API 仕様と使い方

update関数とdraw関数の違いは何ですか?

update関数は毎フレーム呼び出されますが、draw関数は処理時間が許容限界を超えた場合にスキップされることがあります。Pyxel はこの設計により、レンダリング負荷や OS の割り込み処理の影響を軽減して、滑らかなアニメーションを実現しています。

PyxelのMMLの使い方を教えてください

Sound クラスのmml関数に MML (Music Macro Language) 文字列を渡すと、MML モードに移行し、その内容に沿ってサウンドが再生されるようになります。

MML モードでは、notesspeedなどの通常のパラメータは無視され、指定した文字列の内容に沿ってサウンドが再生されます。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 ツールの使い方

Pyxel Editorでパレットの色を変更できますか?

Pyxel リソースファイル(.pyxres)と同じディレクトリに、Pyxel パレットファイル(.pyxpal)を配置することで、Pyxel Editor で使用するパレットの色をリソースファイルに合わせることができます。Pyxel パレットファイルの作成方法については、README をご参照ください。

今後の開発計画

今後のリリースで予定している機能は?

以下の機能追加や改善を予定しています。

  • Pyxel アプリランチャーの追加
  • Pyxel Editor の操作性向上
  • 子供向け Pyxel チュートリアルの追加

ライセンスとスポンサーシップ

Pyxelを作者の許可なく商業目的で使用することはできますか?

MIT ライセンスに従い、ソースコードやライセンス表示用のファイルに著作権およびライセンスの全文を明示すれば、作者の許可を得ることなく自由に販売や配布が可能です。ただし、もし可能であれば、作者にご連絡いただいたり、スポンサーとしてご支援いただけるとありがたいです。