Getting Startedに従っていろいろやる前に、ざっとドキュメントのBasics部分を眺めてみます。
- PixiJS is 何か(What PixiJS Is)
- PixiJS is 何者でないか(What PixiJS Is Not)
このへんを読む限り、オーディオとかを駆使したゲームにするためには、ちょっと工夫が必要そうな感じです。
音楽や効果音はゲームづくりの上で重要なので、いずれこのへんの代替手段を考えないといけないかなと思いましたが、検索してみると簡単な音再生の手段は用意されているようです。詳しくは追々かな。
その他、ユーザからの入力を受け付ける手段も簡単なものは用意されているようなので、私の趣味の範囲で使うのは大きく困ることは無さそうだとわかりました。
Archtecture Overviewでは、7つの主要コンポーネントが挙げられています。
思った通りで、とてもコンパクトな作りです。主要コンポーネントで7つなのであれば、全体像の把握も難しくなさそうですね。 趣味でゲームを作るのに、何十もあるコンポーネントが複雑に組み合わさったフレームワークを使う気になれなかったので、このぐらいの手頃感があると助かります。
Render Loopでは、画面表示にまつわるあれこれがざっくりまとめられています。
要点としては、app.stageに載っているものが順に描画されることと、(ブラウザで動くという制約上、どうにもできないところだと思いますが)FPSのコントロールをするのは難しいってことでしょうか。
アクションゲームを書くときなんかは、この辺のFPSにまつわるノウハウを調べる必要がありそうですね。 (そもそも、そういうタイミングにシビアなゲームを書くのかというのはありますが)
Scene Graphでは(app.stageをrootとする)ツリー構造で描画オブジェクトが管理されることや、描画の順序に関すること、あとは座標系の話が書かれています。
一般的なPC向けのグラフィックライブラリと同様に、画面の左上スミを0,0の原点として、画面の下に行くほどy座標が増加し、画面の右側に行くほどx座標が増加する座標系を持っているようです。
さらに、子は親のローカル座標系動くようで、ここはちょっと特殊だなと思いました。
また、グローバル座標とスクリーン座標が異なる点にも注意しないといけなさそうです。
座標系は、作っているうちにハマって「あーそうだった!」と思って直して学ぶところまでがワンセットだと思うので、色々動かしながら覚えていこうと思います。
さらに、ここで言うスクリーン座標は一般的なグラフィックライブラリがいうところのスクリーン座標ではなく、ブラウザのビューポートをスクリーンと見立てた座標系になるので、環境による見た目の違いへの配慮が必要なケースでは結構苦労するかもと思いました。
SVG’s のセクションでは、ライブラリ自身がSVGをいい感じに取り扱えるってことが書かれています。グラフィックライブラリとしては重要なのかもしれませんが、ゲームを書くうえでは使えるってことがわかってれば十分かなと思いました。
ざっとBasicドキュメントをながめたことで、基本的なところは掴めました。
ドキュメントの他の部分は、触っていく中で都度都度戻ってくることになると思います。