Phaser3 gamepadについて
scene.input.gamepadがundefinedしか返してくれなくてハマった。
gameにセットするconfig.input.gamepad = trueをセットしたら取れるようになった。
const config = {
type: Phaser.AUTO,
width: 800,
height: 600,
// とか書くとこに下を追加
input: {
gamepad: true,
},
}
babel-plugin-rewire の使い方がよくわかんなかった時の話
webpack のプロジェクトで jest を使ってテストを書こうとした時に、rewireを使ってexportしていない関数をテストしようとしたらなんか使えなかったぽい時にbabel-plugin-rewireを使おうとした時の話。
やったこと
npm install --save-dev babel-plugin-rewire
.babelrcに以下を追加
"env": { "test": { "plugins": [ "babel-plugin-rewire" ] } }
テストでこんな感じに書く
import { __RewireAPI__ as テストするモジュール_RewireAPI } from 'テストするモジュールのパス'
// export してない関数とか取り出すとき
const exportしてない関数 = テストするモジュール_RewireAPI.__get__('exportしてない関数')
exportしてない関数()
// exportしてない変数に値入れたりする時
テストするモジュール_RewireAPI.__set__({ exportしてない変数: 'unco' })
こんな感じでできましたとさ。
テストのためだけにexportするのは気持ち悪いので、これを使って気持ちよくなれました。