wechat small game phaser
1.0.0
v2.16.0
WeChat Small Game ランタイム環境の「おかげで」、「phaser」を直接インポートすると多くのエラーが発生します。
Phaser が必要とするいくつかのグローバル変数をスタブします。これが「js/libs/stub.js」の機能です。
import './js/libs/stub' ;
標準バージョンの代わりに Phaser の分割カスタム ビルドを使用すると、PIXI、p2、および Phaser をグローバルに公開できます。
window . PIXI = require ( './js/libs/pixi' ) ;
window . p2 = require ( './js/libs/p2' ) ;
window . Phaser = require ( './js/libs/phaser-split' ) ;
複数のパラメーターではなくオブジェクトを使用してゲーム インスタンスを作成し、 canvas
オプションを指定します。
var game = new Phaser . Game ( {
width : gameWidth ,
height : gameHeight ,
renderer : Phaser . CANVAS ,
canvas : canvas ,
state : { }
} ) ;
ゲーム サイズがキャンバスと同じでない場合は、スケール モードを設定して、Phaser が入力ポインタを正しく計算できるようにする必要があります。
this . scale . scaleMode = Phaser . ScaleManager . SHOW_ALL ;
this . scale . pageAlignHorizontally = true ; // optional
this . scale . pageAlignVertically = true ; // optional
Phaser の組み込みオーディオ API は機能しませんが、アダプターから Audio API を使用できます。
let au = new Audio ( 'path/to/audio.mp3' ) ;
au . play ( ) ;
au . pause ( ) ;
相対パスを使用した JSON ファイルのロードは機能しません。JSON ファイルをサーバーに配置し、URL を使用してロードする必要があります。
this . load . json ( 'version' , './a.json' ) ; // ERROR T_T
this . load . json ( 'version' , 'http://phaser.io/version.json' ) ; // WORKS YoY