game.keybind(16, "a");Gameオブジェクトの「keybind」メソッドを呼び出していますね。これは第1引数にキーのASCIIコード番号を、第2引数に割り当てるボタン名をそれぞれ指定します。
game.keybind(17, "b");
A~Z 65~90ここでは16と17を指定していますね。これにより、ShiftキーとCtrlキーがA/Bボタンに割り当てられた、というわけです。これらのキーが押された時の処理は、ENTER_FRAMEイベントの関数で行なっています。スクリプトを見ると、
0~9 48~57 または 96~105(テンキーの場合)
tab 9
enter 10
del 11
shift 16
ctrl 17
alt 18
space 32
if (game.input.a){……このようにしてAボタンの処理がされていることがわかるでしょう。「game.input.a」「game.input.b」といようにプロパティを指定し、その値がtrueかfalseかをチェックすることで、それぞれのボタンに割り当てているキーが押されているかどうかを知ることができるのです。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
enchant(); window.onload = function(){ var game = new Game(400, 300); game.preload("character2.png"); game.fps = 20; game.keybind(16, "a"); // ★ game.keybind(17, "b"); // ★ game.onload = function(){ var char1 = new Sprite(100, 100); char1.image = game.assets["character2.png"]; char1.x = 0; char1.y = 0; char1.addEventListener(enchant.Event.ENTER_FRAME, function(){ this.frame = this.age % 2; if (game.input.up){ this.moveBy(0, -5); } if (game.input.down){ this.moveBy(0, 5); } if (game.input.left){ this.moveBy(-5, 0); } if (game.input.right){ this.moveBy(5, 0); } // ★A/Bボタンの処理 if (game.input.a){ game.rootScene.backgroundColor = "#000000"; } else if (game.input.b){ game.rootScene.backgroundColor = "#FFFFFF"; } else { game.rootScene.backgroundColor = "#ffaaaa"; } }); game.rootScene.backgroundColor = "#ffaaaa"; game.rootScene.addChild(char1); }; game.start(); };
<< 前へ | 次へ >> |