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();
};
| << 前へ | 次へ >> |