1.移动设备上主要涉及触摸响应事件以及重力传感响应事件的处理。

事件主要分两类:

针对节点事件处理的节点响应事件cc.Node.EventType(主要是触摸响应事件和鼠标响应事件);

针对全局系统事件处理的全局事件cc.SystemEvent.EventType(主要是重力传感响应事件以及键盘响应事件)。

2.触摸响应事件

①包括四个响应事件:

②响应函数参数event重要属性

event.currentTouch._startPoint:开始触摸时坐标位置。

event.currentTouch._point:当前坐标位置。

③例子代码

 onLoad() {
//开启各种响应事件
this.node.on(cc.Node.EventType.TOUCH_START, this.onTouchStart, this);
this.node.on(cc.Node.EventType.TOUCH_END, this.onTouchEnd, this);
this.node.on(cc.Node.EventType.TOUCH_MOVE, this.onTouchMove, this);
this.node.on(cc.Node.EventType.TOUCH_CANCEL, this.onTouchCancel, this);
}, onDestroy() {
//关闭响应事件
this.node.off(cc.Node.EventType.TOUCH_START, onTouchStart, this);
this.node.off(cc.Node.EventType.TOUCH_END, onTouchEnd, this);
this.node.off(cc.Node.EventType.TOUCH_MOVE, onTouchMove, this);
this.node.off(cc.Node.EventType.TOUCH_CANCEL, onTouchCancel, this);
}, //节点区域内触摸开始事件
onTouchStart: function (event) {
cc.log("event name:", event.type, "start point:", event.currentTouch._startPoint, " current point:", event.currentTouch._point);
}, //节点区域内/外触摸移动事件
onTouchMove: function (event) {
cc.log("event name:", event.type, "start point:", event.currentTouch._startPoint, " current point:", event.currentTouch._point);
}, //节点区域内触摸结束事件
onTouchEnd: function (event) {
cc.log("event name:", event.type, "start point:", event.currentTouch._startPoint, " current point:", event.currentTouch._point);
}, //节点区域外触摸结束事件
onTouchCancel: function (event) {
cc.log("event name:", event.type, "start point:", event.currentTouch._startPoint, " current: point", event.currentTouch._point);
}

3.重力传感响应事件

①包括一个响应事件

②开启传感函数

cc.systemEvent.setAccelerometerEnabled(true); //设置是否开启重力传感

③例子代码

    onLoad() {
cc.systemEvent.setAccelerometerEnabled(true); //设置是否开启重力传感
cc.systemEvent.on(cc.SystemEvent.EventType.DEVICEMOTION, this.onDeviceMotionEvent, this); //注册重力传感响应事件 }, onDestroy() {
cc.systemEvent.off(cc.SystemEvent.EventType.DEVICEMOTION, this.onDeviceMotionEvent, this); //取消重力传感响应事件
}, //x,y,z方向的重力感应加速度
onDeviceMotionEvent(event) {
cc.log("event name:", event.type, " acc x:", event.acc.x, " acc y:", event.acc.y, " acc z:", event.acc.z); //单位是g=9.8m/s^2
}

PS:

1.测试环境v2.0.5+win10

2.测试代码下载地址:https://files-cdn.cnblogs.com/files/chevin/CocosCreatorBlog05.zip

以上。

Cocos Creator学习目录

Cocos Creator学习五:触摸和重力传感响应事件的更多相关文章

  1. Cocos Creator学习一:学习目录以及v2.0 必须关注的网址

    学习目录: <Cocos Creator学习二:查找节点和查找组件> <Cocos Creator学习三:生命周期回调函数> <Cocos Creator学习四:按钮响应 ...

  2. Cocos Creator学习六:加载/释放图片资源

    1.目的:学习加载图片资源.使用图片资源创建对象以及释放图片资源. 2.注意事项以及主要函数: ①注意事项:使用loadRes函数,资源必须放置在assets下的resources文件夹下(默认没有r ...

  3. Cocos Creator学习三:生命周期回调函数

    1.目的:学习生命周期回调函数以及回调顺序,更有利于我们逻辑的处理把控. 2.生命周期回调函数: 节点:指cc.Node:组件:指cc.Component. ①onLoad:脚本组件绑定的节点所在场景 ...

  4. Cocos Creator学习二:查找节点和查找组件

    1.目的:只有通过方便的获取节点对象以及组件,才能较好的进行逻辑控制. 2.通过 cc.find(节点全路径名称字符串) 获取节点. 3.通过getComponent获取组件(注意一个是类型,一个是类 ...

  5. Cocos Creator学习四:按钮响应事件

    1.方法一:通过编辑器对cc.Button的属性进行拖放操作进行控制 (1)创建脚本BtnClick1.js,增加btnClick1函数,然后拖放到Canvas节点中(记得拖放,否则下面步骤将找不到对 ...

  6. Cocos Creator学习目录

    目录 安装和启动 文件结构 编辑器基础 基本概念 (场景树 节点 坐标 组件 ) Cocos Creator 脚本简介 Cocos Creator调试 节点 cc.Node 组件开发cc.Compon ...

  7. cocos creator学习

    2019-05-30 22:23:27 按照前一节我发的教程做,大概了解了Cocos creator的基本布局 但是你发现你不好写代码(感觉视频没有提) 需要下载VS code软件,在其上进行编辑,教 ...

  8. Cocos Creator学习笔记

    1.动态加载图片 cc.Class({ extends: cc.Component, properties: { label: { default: null, type: cc.Label }, l ...

  9. Cocos Creator EditBox(编辑框/输入框)添加事件的两种方法

    EditBox添加事件方法一这种方法添加的事件回调和使用编辑器添加的事件回调是一样的,通过代码添加, 你需要首先构造一个 cc.Component.EventHandler 对象,然后设置好对应的 t ...

随机推荐

  1. springmvc中的一些服务器报错

    这是springmvc的前端控制器的加载格式要求.服务器加载web.xml后,它会在web-inf/下找名为spring[servlet名/handler处理器名]-servlet.xml文件. 可以 ...

  2. 小程序wx:for Do not set same key \"NaN\" in wx:key.

    在使用wx:for的时候出现了Do not set same key \"NaN\" in wx:key. 去网上查看资料,说是使用wx:key 试了一下,没用 字面意思是不要设置 ...

  3. hdu4780 最小费用最大流

    提交 题意: 给了M个机器,N个糖果要被生产,每个糖果有一个Si和Ti的时间,只能在Si或者在Si<=t<Ti的时间开始生产 每个机器进行转化生产产品的时候都会产生一个代价,然后求最小的代 ...

  4. Typora/VSCode/Sublime 更改Markdown默认宽度样式等

    Typora 所见即所得Markdown编辑器更改 最大宽度 C:\Users\Desk\AppData\Roaming\Typora\themes\github.css CSS第46行改为 max- ...

  5. Dev TreeList 某一列进行格式化显示

    private void treeList1_GetNodeDisplayValue(object sender, GetNodeDisplayValueEventArgs e)        {   ...

  6. vue配置手机通过IP访问电脑开发环境

    vue配置手机通过IP访问电脑开发环境config/index.js// Various Dev Server settings host: '0.0.0.0', // can be overwrit ...

  7. mysql在Windows下使用mysqldump命令手动备份数据库和自动备份数据库

    手动备份: cmd控制台: 先进入mysql所在的bin目录下,如:cd C:\Program Files\MySQL\MySQL Server 5.5\bin mysqldump -u root - ...

  8. Cesium 学习笔记

    Entity API 1,和 fill属性不太一样,outline没有对应的材质配置,而是用两个独立的属性outlineColor和outlineWidth. 注意outlineWidth属性仅仅在非 ...

  9. WEUI滚动加载

    var row = 6, page = 1; var loading = false; //状态标记 $(document.body).infinite().on("infinite&quo ...

  10. python numpy科学计算和数据分析的基础包

    import numpy as np #创建ndarray# data1 = [6, 5, 7, 1, 3]# arrl = np.array(data1)# print(arrl)#多维列表创建nd ...