Cocos Creator 为Button添加事件的两种方法
Button添加事件
Button 目前只支持 Click 事件,即当用户点击并释放 Button 时才会触发相应的回调函数。
通过脚本代码添加回调
方法一
这种方法添加的事件回调和使用编辑器添加的事件回调是一样的,通过代码添加, 你需要首先构造一个 cc.Component.EventHandler 对象,然后设置好对应的 target, component, handler 和 customEventData 参数。
//here is your component file, file name = MyComponent.js
cc.Class({
extends: cc.Component,
properties: {},
onLoad: function () {var clickEventHandler = new cc.Component.EventHandler();clickEventHandler.target = this.node; //这个 node 节点是你的事件处理代码组件所属的节点clickEventHandler.component = "MyComponent";//这个是代码文件名clickEventHandler.handler = "callback";clickEventHandler.customEventData = "foobar";var button = node.getComponent(cc.Button);button.clickEvents.push(clickEventHandler);
},callback: function (event, customEventData) {//这里 event 是一个 Touch Event 对象,你可以通过 event.target 取到事件的发送节点var node = event.target;var button = node.getComponent(cc.Button);//这里的 customEventData 参数就等于你之前设置的 "foobar"
}
});
方法二
通过 button.node.on('click', ...) 的方式来添加,这是一种非常简便的方式,但是该方式有一定的局限性,在事件回调里面无法 获得当前点击按钮的屏幕坐标点。
//假设我们在一个组件的 onLoad 方法里面添加事件处理回调,在 callback 函数中进行事件处理:
cc.Class({
extends: cc.Component,
properties: {
button: cc.Button
},
onLoad: function () {this.button.node.on('click', this.callback, this);
},callback: function (event) {//这里的 event 是一个 EventCustom 对象,你可以通过 event.detail 获取 Button 组件var button = event.detail;//do whatever you want with button//另外,注意这种方式注册的事件,也无法传递 customEventData
}
});
转载于:https://www.cnblogs.com/luorende/p/8150415.html
Cocos Creator 为Button添加事件的两种方法相关推荐
- js循环添加事件的两种方法
js循环添加事件的两种方法 选择下拉列表中的一个li将文本传到框中 问题:写此二级菜单时用到的方法不好,对此进行优化 原始js代码: <script>// 思路:1.点击下拉框a时,ul中 ...
- python文字教程-Python在图片中添加文字的两种方法
本文主要介绍的是利用Python在图片中添加文字的两种方法,下面分享处理供大家参考学习,下来要看看吧 一.使用OpenCV 在图片中添加文字看上去很简单,但是如果是利用OpenCV来做却很麻烦.Ope ...
- java在文件的后面添加_java 在file的尾部添加数据的两种方法总结
java 在file的尾部添加数据的两种方法总结 问题描述: 在文件的末尾追加内容 方法1:利用RandomAccessFile类 1.将randomAccessFile模式设置为rw 2将rando ...
- html+input改变图标,JS Input里添加小图标的两种方法
我们在做网页的时候,经常需要在input里面添加小图标,那么这里就介绍比较常见的两种方法. 将小图标当做input的背景来插入,直接上代码吧: Box{ height: 50px; backgroun ...
- python怎么在图片上写字_Python在图片中添加文字的两种方法
本文主要介绍的是利用Python在图片中添加文字的两种方法,下面分享处理供大家参考学习,下来要看看吧 一.使用OpenCV 在图片中添加文字看上去很简单,但是如果是利用OpenCV来做却很麻烦.Ope ...
- python如何在图片上添加文字_Python在图片中添加文字的两种方法
本文主要介绍的是利用Python在图片中添加文字的两种方法,下面分享处理供大家参考学习,下来要看看吧 一.使用OpenCV 在图片中添加文字看上去很简单,但是如果是利用OpenCV来做却很麻烦.Ope ...
- 怎样在python的turtle中输入文字_Python在图片中添加文字的两种方法
本文主要介绍的是利用Python在图片中添加文字的两种方法,下面分享处理供大家参考学习,下来要看看吧 一.使用OpenCV 在图片中添加文字看上去很简单,但是如果是利用OpenCV来做却很麻烦.Ope ...
- 模拟键盘鼠标事件有两种方法
实现一个鼠标或者键盘模拟器,可以完成很多功能,比如做一个简单的游戏外挂^_^.通常,模拟键盘鼠标事件有两种方法: 1.keybd_event, mouse_event 2.SendMessage, P ...
- java 文件尾部_java 在file的尾部添加数据的两种方法总结
java 在file的尾部添加数据的两种方法总结 问题描述: 在文件的末尾追加内容 方法1:利用RandomAccessFile类 1.将randomAccessFile模式设置为rw 2将rando ...
最新文章
- STM32FLASH读写程序
- java8 遍历目录_使用java8API遍历过滤文件目录及子目录及隐藏文件
- cocos2d-x游戏实例(13)-简易摇杆控制主角
- linux下命令集合
- java真数组_Java真数组
- java路径不存在则创建文件夹_java实现文件夹不存在则创建
- 【jsp】JSTL标签大全详解
- python:实现杨辉三角
- 最简单的STM32入门教程----闪烁LED
- Excel 透视表 - 人生第二个透视表
- Android之Dex动态加载机制解析
- 尚硅谷的 ediary 笔记_【华硕灵耀X纵横(i71165G7/16GB/512GB/集显)评测】助力笔记本创新!英特尔Evo平台制定十大体验目标...
- CSS Sprite
- 华为认证是什么?这个证值得考吗?网工深思……
- 读书到什么程度才能算融会贯通?
- 「会议记录」2019.3.18
- 关于unity场景切换后模型变黑问题
- GeoServer安装VectorTile插件
- 2021-8-31 学习日记——idea中快捷键alt+insert找不到get和set方法
- python共享文件协同编辑_那些可多人协作编辑的在线文档工具