コードエディタ&プレイヤー
Pyxenはコードエディタとゲームプレイヤーを同じ画面に統合しています。片側でPythonを書き、もう片側でゲームをプレイします。
コードエディタ
エディタはPythonのシンタックスハイライトをサポートし、コードのコンパイルに失敗した場合はエラーをインラインで表示します。エラーをタップすると該当行にジャンプできます。
ハードウェアキーボード付きのiPadでは、選択、コピー、ペースト、元に戻す、やり直しの標準ショートカットが使えます。エディタはキーボード、マウス、トラックパッドにも対応し、正確なカーソル配置が可能です。
ゲームの実行
プレイをタップしてコードをコンパイル・実行します。プレイヤービューでゲームが開始します。ストップをタップしてエディタに戻ります。
コードに構文エラーがある場合、Pyxenはエラーメッセージと行番号を表示します。エラーを修正してもう一度プレイを押してください。
フレームインスペクタ
実行中のゲームを一時停止すると、フレームインスペクタが起動します。これはPyxenの内蔵デバッガです。
インスペクタでは以下のことができます:
- すべてのエンティティを閲覧 — 現在のフレームの位置、コンポーネント、状態を確認
- コンポーネントを検査 — スプライト、ボディ、カスタムコンポーネント、トランスフォームの正確な値を表示
- シーンを理解 — 親子関係、レイヤー、可視性を確認
タイムスクラバー
Pyxenはゲーム実行中に最大300フレームの履歴を記録します。一時停止すると、時間を前後にスクラブできます。
つまり以下のことが可能です:
- 巻き戻し — バグが発生した正確なフレームに移動
- フレームごとにステップ — 時間の経過と共に状態がどう変化するかを確認
- フレームを比較 — 2つの時点間でコードが何をしたかを理解
タイムスクラバーはデバッグを推測から観察に変えます。print文を追加して再実行する代わりに、一時停止し、巻き戻し、見るだけです。
ワークフロー
Pyxenでの典型的なワークフロー:
- エディタでコードを書く/編集する
- プレイを押してテスト
- 何かおかしければ、ゲームを一時停止
- 時間を遡って問題のフレームを見つける
- エンティティを検査して予期しない状態を確認
- 停止、コードを修正、繰り返し