qc.Input

描述

输入的统一管理类,管理游戏中键盘、鼠标、触摸等操作事件,并将鼠标按下弹起事件和触摸开始结束事件统一为点事件进行处理。 本对象可以通过game.input进行访问。 注意:本类只提供基础事件,例如:鼠标滚动,鼠标、触摸按下,鼠标、触摸弹起等,键盘操作。 高级事件由qc.BaseInputModule提供。

变量

变量名 类型 作用
game qc.Game 只读。对应的游戏实例
keyboard qc.Keyboard 监控键盘事件的对象
mouse qc.Mouse 监控鼠标事件的对象
touch qc.Touch 监控触摸事件的对象
module qc.BaseInputModule 高级事件处理模块
cursorPosition qc.Point 当前鼠标光标在世界坐标系中的位置
wheelDeltaX number 本帧鼠标在x轴上滚动的距离
wheelDeltaY number 本帧鼠标在y轴上滚动的距离
keyCount int 本帧按下的键盘按键数量
keyCodes array 本帧按下的按键键值
mouseCount int 本帧按下的鼠标按键数量
mouseIds array 本帧按下的鼠标按键Id
touchCount int 本帧开始的触摸点数量
touchIds array 本帧开始的触摸点Id
pointerCount int 本帧按下的鼠标和开始的触摸点数量
pointers array 本帧按下的鼠标和开始的触摸点Id
enable boolean 交互开关,默认开启。关闭时,将不产生任何事件
inputting boolean 判断当前是否处于编辑状态

事件

事件名 作用
onKeyDown 键盘按键按下的事件,派发的参数为按键键值,按键对应的字符(keyCode,charCode)
onKeyUp 键盘按键弹起的事件,派发的参数为按键键值,按键对应的字符(keyCode,charCode)
onKeyRepeat 键盘按键保持按下时触发连击的事件,派发的参数为按键键值,按键对应的字符(keyCode)
onCursorMove 鼠标光标移动的事件,派发的参数为鼠标的x轴位置y轴位置(x,y)
onWheel 鼠标中间滚动的事件,派发的参数为x轴滚动距离,y轴滚动距离(deltaX,deltaY)
onPointerDown 鼠标按下或者触摸开始的事件,派发的参数为鼠标或者光标id,x轴位置,y轴位置(id,x,y)
onPointerUp 鼠标弹起或者触摸结束的事件,派发的参数为鼠标或者光标id,x轴位置,y轴位置(id,x,y)
onPointerMove 鼠标按下移动或者触摸移动的事件,派发的参数为鼠标或者光标id,x轴位置,y轴位置(id,x,y)

方法

方法名 作用
isKeyDown 指定按键是否处于按下状态
isAnyKeyDown 本帧是否有按键按下
isAnyKey 是否有任意按键处于处于按下状态
isAltDown Alt是否处于按下状态
isControlDown Control是否处于按下状态
isShiftDown Shift 是否处于按下状态
isMetaDown Meta是否处于按下状态
isMouseDown 指定鼠标按键是否被按下
isAnyMouseDown 本帧是否有鼠标被按下
isAnyMouse 是否有任意鼠标处于按下状态
isTouchStart 指定触摸点是否处于开始状态
isAnyTouchStart 本帧是否有触摸点开始
isAnyTouch 是否有任意触摸点处于开始状态
isPointerStart 是否有指定的鼠标或者触摸点处于开始状态
isAnyPointerStart 本帧是否有鼠标或者触摸点处于开始状态
isAnyPointer 是否有任何鼠标或者触摸点处于开始状态
hasCursor 当前是否有光标的存在,仅当存在鼠标并且鼠标有移动过时为真
isMouse 指定的事件id是否为鼠标事件
getPointer 根据事件id获取鼠标或者触摸事件

范例

    // 比如: game.input.onKeyDown.add(function(keyCode){})
    // 但是推荐使用 qc.Node 或 qc.Behaviour 中的 'addListener' 方法,因为该方法在对象析构时会自动移除事件关注  
    // this 是 qc.Node 或 qc.Behaviour 对象
    this.addListener(game.input.onKeyDown, function(keyCode) {
        // keyCode 键被按下
    });

    if (game.input.isAnyMouseDown())
    {
        // 。。。。
    }

参考手册

输入与交互

results matching ""

    No results matching ""