docs/faq-ja.md
Pyxel のサンプルコードを以下の順に試すのがおすすめです。
サンプルコードは pyxel copy_examples でコピーできるほか、Pyxel Showcase でブラウザ上でも実行できます。
日本語版のみですが、公式の書籍 が発売されています。
</details>update 関数は毎フレーム呼び出されますが、draw 関数は処理時間が許容限界を超えた場合にスキップされることがあります。Pyxel はこの設計により、レンダリング負荷や OS の割り込み処理の影響を軽減して、滑らかなアニメーションを実現しています。
MML(Music Macro Language)は、音符やテンポなどを文字列で記述してサウンドを定義する言語です。
Sound クラスの mml 関数に MML 文字列を渡すと、その Sound が MML の内容に沿って再生されるようになります。mml() を引数なしで呼ぶと MML 設定を解除できます。
pyxel.sounds[0].mml("CDEFGAB>C")
play 関数にサウンド番号の代わりに MML 文字列を直接渡して再生することもできます。
pyxel.play(0, "CDEFG")
利用できる MML コマンドは Pyxel MML コマンド を参照してください。使用例はサンプル 09_shooter.py の デモ や コード で確認できます。
また、Pyxel MML Studio を使えば、MML をブラウザ上で作成・共有できます。
</details>ファイルを読み込む際に、カレントディレクトリが意図したものになっているかを確認してください。
Pyxel の init 関数が呼ばれると、カレントディレクトリはそのスクリプトファイルと同じ場所に変更され、それ以降は相対パスでファイルを指定できます。しかし、init を呼ぶ前にファイルを開こうとした場合や init の後にカレントディレクトリを変更した場合には読み込みに失敗する可能性があります。
開発者名(vendor_name)とアプリ名(app_name)を user_data_dir(vendor_name, app_name) 関数に渡すと、プラットフォームに適したデータ保存用のディレクトリを作成し、そのパスを返します。このディレクトリの下でアプリケーション用のファイルの保存や読み込みを行ってください。
Pyxel Code Maker を使えば、ブラウザ上で Pyxel アプリの作成・実行ができます。ただし、複数ファイル構成には対応していないため、本格的な開発にはローカル環境をおすすめします。
Pyxel Showcase では、サンプルコードやアプリをブラウザ上で一覧・実行できます。
</details> <details> <summary>自作の Pyxel アプリを Web で公開するにはどうすればいいですか?</summary>Pyxel Web Launcher、app2html、HTML カスタム要素の 3 つの方法があります。詳しくは Web 版 Pyxel の使い方 を参照してください。
</details> <details> <summary>Pyxel Editor でパレットの色を変更できますか?</summary>Pyxel リソースファイル(.pyxres)と同じディレクトリに、拡張子を .pyxpal に変えた同名のファイルを配置すると、Pyxel Editor のパレット表示色が変更されます。パレットファイルは save_pal 関数で作成できるほか、1 行に 1 色の RRGGBB 形式の 16 進数カラーコードを記述したテキストファイルとして手動で作成することもできます。
Pyxel 2.4 ではサウンドエンジンと MML 文法が刷新されています。
コードをバージョン 2.4 に対応させるには、以下の変更を行ってください。
waveform フィールドを wavetable にリネームするplay 関数、playm 関数の tick 引数を sec(小数形式の秒数)に変更するplay_pos 関数の戻り値が (sound_no, sec) に変わったことに対応するsave 関数の count 引数を sec に変更するtotal_sec 関数を利用するmml 関数には新 MML 文法に沿ったコードを指定する(旧文法は自動検出される。old_mml 関数は非推奨)save、load 関数の excl_* オプションを exclude_* に変更するsave、load 関数の incl_* オプションの指定を削除する新しい MML 文法は上記の「Pyxel の MML の使い方」を参照してください。
</details>MIT ライセンスに従い、ソースコードやライセンス表示用のファイルに著作権およびライセンスの全文を明示すれば、作者の許可を得ることなく自由に販売や配布が可能です。ただし、Pyxel は個人で開発しているため、作者へのご連絡やスポンサーによるご支援をいただけるとありがたいです。
</details>