Controls 系统
将特定输入与一般输入事件连接的内置系统。
注意: 这个系统提供的方法可能会在未来的 Crafty 版本中有所变化。越来越多的输入类型将会被支持。
事件
- TriggerInputDown [Data = {name}]
- 当触发组被激活时
- TriggerInputUp [Data = {name, downFor}]
- 当触发组释放时
- DirectionalInput [Data = {name, x, y}]
- 当定向输入发生变化时
方法
Back to top
.defineDpad()
defineDpad(string name, obj definition[, obj options])
- name
按键输入的名称
- definition
一个定义按键输入和方向的对象
- options
按键的一组设置
一组方向输入是方向控制键到控制方向的映射。
options 对象有两个属性:
normalize
(bool): 如果为true,定向输入将被归一化为单位向量。默认为false。multipleDirectionBehavior
(string): 当多个方向同时活动时该如何表现。值可以是 "first", "last", 和 "all". 默认为 "all".
例子
// Define a two-direction dpad, with two keys each bound to the right and left directions
Crafty.s("Controls").defineDpad("MyDpad", {
{RIGHT_ARROW: 0, LEFT_ARROW: 180, D: 0, A: 180}
});
Back to top
.defineTriggerGroup()
defineTriggerGroup(string name, obj definition)
- name
触发器组的名称。
- definition
定义触发器输入的对象。
一个触发组是输入映射到相同事件的集合。
如果任何输入被结束,触发也会结束。如果都开启,那么它也会开启。当触发状态切换时,TriggerInputUp
或TriggerInputDown
事件被触发。
输入到触发的映射定义对象如下:
keys
: Crafty 的按键码数组mouseButtons
: Crafty 的鼠标按键码数组
例子
// Define a trigger group mapped to the left mouse button and the A and B keys.
Crafty.s("Controls").defineTriggerGroup("MyTrigger", {
mouseButtons: [Crafty.mouseButtons.LEFT],
keys: [Crafty.keys.A, Crafty.keys.B]
});