単純な2Dゲームを作成しています。キーダウンキーを配列に保存し、ループ内で実行して、ユーザーがキーを押したまま、チャーターがノンストップで動いているように見せたいと思います。
ゲームタイマーのように機能するsetInterval関数を取得しましたが、常にループします。キーを保持するためのリスナーと配列を追加しました。
配列内のキーを確認しましたが、見た目は問題ありませんが、moveRight関数とmoveLeft関数が機能していません。
コードは次のとおりです。
this.keysPressed = new Array();
InitGameLoop: function () {
var that = this;
setInterval(function () {
$(document).keydown(function (e) {
var key = e.which;
that.keysPressed.push(key);
for (var i = 0; i < that.keysPressed.length; i++) {
if (that.keysPressed[i] == 38) {
that.moveRight(worldWidth, 10);
}
else if (that.keysPressed[i] == 37) {
that.moveLeft(10);
}
log(that.keysPressed, that.yPos);
that.keysPressed.pop();
}
});
}, 60);
私の質問は次のとおりです。
- 私はweargを何をしていますか?
- これは良い考えですか?(そうでない場合は、別のことについて私に勧めてください:))
(私の英語でごめんなさい)