王志新的博客

CocosCreator鼠标事件监听器

王志新 2018-12-18 10:42:48
正文点这评论(0 人参与)
CocosCreator鼠标事件监听器

例子:

var self = this;
self.node.on(cc.Node.EventType.TOUCH_START, this._touchStartEvent, self);
_touchStartEvent:function(event){
     console.log(event);
}

// 使用枚举类型来注册
node.on(cc.Node.EventType.MOUSE_DOWN, function (event) {
  console.log('Mouse down');
}, this);
// 使用事件名来注册
node.on('mousedown', function (event) {
  console.log('Mouse down');
}, this);

鼠标事件类型和事件对象

鼠标事件在桌面平台才会触发,系统提供的事件类型如下:

枚举对象定义对应的事件名事件触发的时机
cc.Node.EventType.MOUSE_DOWN'mousedown'当鼠标在目标节点区域按下时触发一次
cc.Node.EventType.MOUSE_ENTER'mouseenter'当鼠标移入目标节点区域时,不论是否按下
cc.Node.EventType.MOUSE_MOVE'mousemove'当鼠标在目标节点在目标节点区域中移动时,不论是否按下
cc.Node.EventType.MOUSE_LEAVE'mouseleave'当鼠标移出目标节点区域时,不论是否按下
cc.Node.EventType.MOUSE_UP'mouseup'当鼠标从按下状态松开时触发一次
cc.Node.EventType.MOUSE_WHEEL'mousewheel'当鼠标滚轮滚动时

鼠标事件(cc.Event.EventMouse)的重要 API 如下(cc.Event 标准事件 API 之外):

函数名返回值类型意义
getScrollYNumber获取滚轮滚动的 Y 轴距离,只有滚动时才有效
getLocationObject获取鼠标位置对象,对象包含 x 和 y 属性
getLocationXNumber获取鼠标的 X 轴位置
getLocationYNumber获取鼠标的 Y 轴位置
getPreviousLocationObject获取鼠标事件上次触发时的位置对象,对象包含 x 和 y 属性
getDeltaObject获取鼠标距离上一次事件移动的距离对象,对象包含 x 和 y 属性
getButtonNumbercc.Event.EventMouse.BUTTON_LEFT 或 cc.Event.EventMouse.BUTTON_RIGHT 或 cc.Event.EventMouse.BUTTON_MIDDLE

触摸事件类型和事件对象

触摸事件在移动平台和桌面平台都会触发,这样做的目的是为了更好得服务开发者在桌面平台调试,

只需要监听触摸事件即可同时响应移动平台的触摸事件和桌面端的鼠标事件。系统提供的触摸事件类型如下:

枚举对象定义对应的事件名事件触发的时机
cc.Node.EventType.TOUCH_START'touchstart'当手指触点落在目标节点区域内时
cc.Node.EventType.TOUCH_MOVE'touchmove'当手指在屏幕上目标节点区域内移动时
cc.Node.EventType.TOUCH_END'touchend'当手指在目标节点区域内离开屏幕时
cc.Node.EventType.TOUCH_CANCEL'touchcancel'当手指在目标节点区域外离开屏幕时

触摸事件(cc.Event.EventTouch)的重要 API 如下(cc.Event 标准事件 API 之外):

API 名类型意义
touchcc.Touch与当前事件关联的触点对象
getIDNumber获取触点的 ID,用于多点触摸的逻辑判断
getLocationObject获取触点位置对象,对象包含 x 和 y 属性
getLocationXNumber获取触点的 X 轴位置
getLocationYNumber获取触点的 Y 轴位置
getPreviousLocationObject获取触点上一次触发事件时的位置对象,对象包含 x 和 y 属性
getStartLocationObject获取触点初始时的位置对象,对象包含 x 和 y 属性
getDeltaObject获取触点距离上一次事件移动的距离对象,对象包含 x 和 y 属性

需要注意的是,触摸事件支持多点触摸,每个触点都会发送一次事件给事件监听器。

官方网址:https://docs.cocos.com/creator/manual/zh/scripting/internal-events.html?h=node.on




打赏

评论

评论
搜索
网站分类
最近发表
  • PHP 数字前面补零 固定位数补0
  • macOs设置环境变量
  • mac系统VirtualBox + Vagrant + 宝塔 Linux虚拟开发环境
  • Mac系统VirtualBox中CentOS启用共享文件夹
  • centos虚拟机配置静态IP网络
  • ssh远程连接服务器异常修复(WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!)
  • vsCode+Homestead开启xdebug调试
  • PHP Laravel Homestead安装
  • php+Xunsearch中文检索
  • array_filter()
  • 常用工具
    软件下载
    友情链接

    X
    我知道了