見出し画像

キャラクター移動キー処理

document.addEventListener('keydown', function(e){ game.key[e.key]=1 });
document.addEventListener('keyup', function(e){ game.key[e.key]=0 });

var game={
  frame: 30,
  k:'wsda',
  key:{},
  process: {
    'w': function(){ console.log('forward')},
    's': function(){ console.log('back')},
    'd': function(){ console.log('right')},
    'a': function(){ console.log('left')},
  },

  loop: function(){
    for (var i=0,l=game.k.length; i<l; i++){
        var k=game.k.charAt(i);
        if ( game.key[k] ) game.process[k]();
    }
  }
}

setInterval(game.loop, 1000/game.frame);

addEventListener: キーイベントバインド(フラグのオンオフ)
game.key: 入力キーフラグ(オン=1、オフ=0)
game.k: キー入力処理順序(w->s->d->a)
game.process: キーごとの処理
game.loop: ゲームのループ処理(キー入力フラグがオンなら対応する処理を実行する)


この記事が気に入ったらサポートをしてみませんか?