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 ...
随机推荐
- Alpine Linux常用命令
一:Alpine Linux开启SSH远程登陆 1.简介: 最重要的一个服务了,远程登陆需要用它,文件传输需要用它,必备功能.不管你是在实体机上跑,虚拟机上跑,docker里面跑,这个都是必须的. 2 ...
- linux 系统下apache 找不到apxs 文件
yum install httpd-devel
- mac新手使用
mac新手使用教程 B站上有个Mac云课堂
- Gym 101194C / UVALive 7899 - Mr. Panda and Strips - [set][2016 EC-Final Problem C]
题目链接: http://codeforces.com/gym/101194/attachments https://icpcarchive.ecs.baylor.edu/index.php?opti ...
- Qt带返回值的信号发射方式(使用QMetaObject::invokeMethod)
一般来说,我们发出信号使用emit这个关键字来操作,但是会发现,emit并不算一个调用,所以它没有返回值.那么如果我们发出这个信号想获取一个返回值怎么办呢? 两个办法:1.通过出参形式返回,引用或者指 ...
- sx1278 手册参考
记录下芯片的重要数据和内容,方便查阅,无代码实现 参考程序地址:http://www.pudn.com/Download/item/id/3070942.html http://www.cirmal ...
- [js]ajax-异源请求jsonp
参考: http://www.cnblogs.com/whatisfantasy/p/6237713.html http://www.cnblogs.com/freely/p/6690804.html ...
- 小程序 showModal content换行
wx.showModal({ title: '提示', content: '1.该拼团仅支持到指定取货地址自提\r\n2.拼团支付价格为拼团原价,当到达指定阶梯,拼团差价将在3个工作日内退回您的微信账 ...
- Docker 推送镜像到hub.docker
1.Docker镜像文件:lails.server.demo:1.0, 2.登录Docker:docker login[根据提示输入用户名/密码] 3.执行:docker push lails.ser ...
- GALV_maptravel研究分析(1)
强大的地图传送式插件~~ 我以自带demo进行分析,本篇地图Init setting map 1.---------------------------------- 实例 创建地图 Galv.MAP ...