2012年2月17日金曜日

期待のJSゲームエンジン enchant.js でキーボードの入力だけ処理させる。

enchant.js 触ってみました。
参考にしたのがこちら。enchant.js でプログラム組む方法が良くわかる。

「enchant.js」でゲームを作ろう! HTML5とJavaScriptによるアクションゲーム制作入門


別に熊とかを動かしたいわけではなく、キーボードの入力だけを処理させたかったので、
そういうことをやってみます。
『キーボードの入力のためだけにenchant.js 使う必要なくない?』と言われそうですが、
まぁ、ものは試し。男は度胸。何でもためしてみるのさ。

最初に書いたのがこんな感じ。
なんとなく jQuery も使っています。

enchant();
$(document).ready(function(){
    var game = new Game(320,320);
        game.onload = function(){
            this.addEventListener("enterframe",function(){
                if(this.input.left) {alert("left") ;}
                if(this.input.right){alert("right");}
                if(this.input.up)   {alert("up")   ;}
                if(this.input.down) {alert("down") ;}
            });
        };
        game.start();
});

MACやスマホはわかりませんが、Windowsでキーボードの矢印キーを押すと、
アラートが出ました。
そこまではよかったものの、
アラートが出続ける…あらら。こまったので、F5キーを連打しました(笑)
で、書き直したのがこんな感じ。

enchant();
$(document).ready(function(){
    var game = new Game(320,320);
        game.onload = function(){
            this.addEventListener("enterframe",function(){
                if(this.input.left) {alert("left") ;this.input.left  = false;}
                if(this.input.right){alert("right");this.input.right = false;}
                if(this.input.up)   {alert("up")   ;this.input.up    = false;}
                if(this.input.down) {alert("down") ;this.input.down  = false;}
            });
        };
        game.start();
});

いちいち それぞれのフラグを false にしてやるわけですね。
これでアラート連発が無くなりました。

まぁ、ただそれだけです。

0 件のコメント:

コメントを投稿