Keyboard 组件
为实体提供键盘事件。
事件
- KeyDown [Crafty's KeyboardEvent = { key: `Crafty.keys` keyCode (Number), originalEvent: original KeyboardEvent }]
- 当DOM 'keydown' 事件触发时在每一个实体上触发。
- KeyUp [Crafty's KeyboardEvent = { key: `Crafty.keys` keyCode (Number), originalEvent: original KeyboardEvent }]
- 当 DOM 'keyup' 事件触发时在每一个实体上触发。
按键的当前状态(按下/释放)会绑定到这些事件,你可以使用 .isDown
方法查询。
例子
Crafty.e("2D, DOM, Color, Keyboard")
.attr({x: 100, y: 100, w: 50, h: 50})
.color("red")
.bind('KeyDown', function(e) {
if (e.key == Crafty.keys.LEFT_ARROW) {
this.x = this.x-1;
} else if (e.key == Crafty.keys.RIGHT_ARROW) {
this.x = this.x+1;
} else if (e.key == Crafty.keys.UP_ARROW) {
this.y = this.y-1;
} else if (e.key == Crafty.keys.DOWN_ARROW) {
this.y = this.y+1;
}
});
方法
Back to top
.isDown()
public Boolean isDown(String keyName)
- keyName
按键的名字。见
Crafty.keys
.
public Boolean isDown(Number keyCode)
- keyCode
Crafty.keys
中的一个按键码。
确定某个键当前是否处于按下状态。
例子
ent.requires('Keyboard')
.bind('EnterFrame', function() {
if (this.isDown('SPACE'))
this.y--;
});