Cocos Creator学习四:按钮响应事件
1.方法一:通过编辑器对cc.Button的属性进行拖放操作进行控制
(1)创建脚本BtnClick1.js,增加btnClick1函数,然后拖放到Canvas节点中(记得拖放,否则下面步骤将找不到对应的函数)。
btnClick1: function (event, customEventData) {
//这里 event 是一个 Touch Event 对象,你可以通过 event.target 取到事件的发送节点
var node = event.target;
var button = node.getComponent(cc.Button);
//这里的 customEventData 参数就等于你之前设置的 "click1 user data"
cc.log("node=", node.name, " event=", event.type, " data=", customEventData);
}
(2)按步骤在(按钮的属性检查器)上进行操作
①在Click Events中填上1,然后编辑器自动生成下方属性输入
②将Canvas拖动到cc.Node属性上
③选择对应脚本BtnClick1.js
④选择对应处理函数btnClick1
⑤填写自定义事件数据click1 user data

③点击后输出我们自定义的数据

2.方法二:舍弃编辑器上的拖放操作,使用代码控制
(1)创建脚本BtnClick2.js,增加onLoad和btnClick2函数,然后拖放到Button2节点中。
onLoad: function () {
var clickEventHandler = new cc.Component.EventHandler();
clickEventHandler.target = this.node; //这个 node 节点是你的事件处理代码组件所属的节点,这里就是Button2
clickEventHandler.component = "BtnClick2";//这个是脚本文件名
clickEventHandler.handler = "btnClick2"; //回调函名称
clickEventHandler.customEventData = "click2 user data"; //用户数据
var button = this.node.getComponent(cc.Button); //获取cc.Button组件
button.clickEvents.push(clickEventHandler); //增加处理
},
btnClick2: function (event, customEventData) {
//这里 event 是一个 Touch Event 对象,你可以通过 event.target 取到事件的发送节点
var node = event.target;
var button = node.getComponent(cc.Button);
//这里的 customEventData 参数就等于你之前设置的 "click2 user data"
cc.log("node=", node.name, " event=", event.type, " data=", customEventData);
}
(2)点击后输出我们自定义的数据

3.方法三:不推荐使用此方法!注册TOUCH事件(不能传递自定义数据)
(1)创建脚本BtnClick3.js,增加onLoad函数,然后拖放到Button3节点中。
onLoad() {
this.node.on(cc.Node.EventType.TOUCH_START, function (event) {
cc.log("TOUCH_START event=", event.type);
});
this.node.on(cc.Node.EventType.TOUCH_MOVE, function (event) {
cc.log("TOUCH_MOVE event=", event.type);
});
this.node.on(cc.Node.EventType.TOUCH_END, function (event) {
cc.log("TOUCH_END event=", event.type);
});
}
(2)点击后输出(PS:当移动到按钮区域外松开,接收不到TOUCH_END事件响应)

PS:
1.测试环境v2.0.5+win10
2.测试代码下载地址:https://files-cdn.cnblogs.com/files/chevin/CocosCreatorBlog04.zip
以上。
Cocos Creator学习四:按钮响应事件的更多相关文章
- Cocos Creator学习一:学习目录以及v2.0 必须关注的网址
学习目录: <Cocos Creator学习二:查找节点和查找组件> <Cocos Creator学习三:生命周期回调函数> <Cocos Creator学习四:按钮响应 ...
- Cocos Creator学习五:触摸和重力传感响应事件
1.移动设备上主要涉及触摸响应事件以及重力传感响应事件的处理. 事件主要分两类: 针对节点事件处理的节点响应事件cc.Node.EventType(主要是触摸响应事件和鼠标响应事件): 针对全局系统事 ...
- Cocos Creator学习二:查找节点和查找组件
1.目的:只有通过方便的获取节点对象以及组件,才能较好的进行逻辑控制. 2.通过 cc.find(节点全路径名称字符串) 获取节点. 3.通过getComponent获取组件(注意一个是类型,一个是类 ...
- Cocos Creator学习六:加载/释放图片资源
1.目的:学习加载图片资源.使用图片资源创建对象以及释放图片资源. 2.注意事项以及主要函数: ①注意事项:使用loadRes函数,资源必须放置在assets下的resources文件夹下(默认没有r ...
- Cocos Creator学习三:生命周期回调函数
1.目的:学习生命周期回调函数以及回调顺序,更有利于我们逻辑的处理把控. 2.生命周期回调函数: 节点:指cc.Node:组件:指cc.Component. ①onLoad:脚本组件绑定的节点所在场景 ...
- Cocos Creator学习目录
目录 安装和启动 文件结构 编辑器基础 基本概念 (场景树 节点 坐标 组件 ) Cocos Creator 脚本简介 Cocos Creator调试 节点 cc.Node 组件开发cc.Compon ...
- cocos creator学习
2019-05-30 22:23:27 按照前一节我发的教程做,大概了解了Cocos creator的基本布局 但是你发现你不好写代码(感觉视频没有提) 需要下载VS code软件,在其上进行编辑,教 ...
- Android学习笔记之 SimpleAdapter 中添加按钮响应事件,getView的重写
Andriod 里面的ListView是一个显示列表数据的控件,常用适配器SimpleAdapter进行绑定,绑定代码如下: ListView lstView = (ListView) this.fi ...
- Cocos Creator cc.Button (脚本事件内容)
cc.Class({extends: cc.Component,properties: {}, onLoad: function () { var clickEventHandler = new cc ...
随机推荐
- phpredis Redis阵列 Redis Arrays
官方URL:https://github.com/phpredis/phpredis/blob/master/arrays.markdown#readme 2017年10月29日20:44:01 Re ...
- office 2016密钥
Office 2016 Pro Plus Retail 版激活密钥:[Key]:3XJTG-YNBMY-TBH9M-CWB2Y-YWRHH[Key]:6TCQ3-NBBJ2-RTJCM-HFRKV-G ...
- Docker入门6------生产力工具rancher
rancher的安装: https://blog.csdn.net/wh211212/article/details/80932264 安装 一行命令就可以安装 sudo docker run -d ...
- 解决win10无法访问共享
一台win10共享的文件夹,有的电脑是可以访问的,我的win10 访问不了,说什么 遇到未知错误,用以下方法得以解决 ----------------------------------------- ...
- vue-cli 搭建的项目关闭 eslint
一般不会关闭eslint,基于接手的代码用eslint的时候报错太多,强迫症的人实在忍受不了报错,先实行关闭: 1.在build 下面的 webpack.base.conf.js 找到 module- ...
- Python开发环境Linux配置
1. 在Windows下安装Linux的连接工具(XShell),选免费的 2.虚拟机安装,注意BIOS对虚拟机使用的设置(enable) 3.虚拟机安装好修改yum源(用阿里云的):https:// ...
- Vue+element 实现文件导出xlsx格式
傻瓜教程: 第一步:安装两个依赖包 npm install --save xlsx file-saver 第二步:建立一个Vue文件,导入以下代码即可 <template> <d ...
- C++ Const指针
- tiny6410 uboot启动参数的问题
使用uboot来启动tiny6410,需要在启动参数中加入lcd=S70,才能在lcd上显示正确的画面
- j2ee高级开发技术课程第六周
一.jsf(java server faces)的运行原理(工作方式) 1.jsf应用是事件驱动的,当一个事件发生时(比如用户单击一个按钮),事件通知通过HTTP发往服务器,服务器端使用叫做Faces ...