cocos create php,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

}

});

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

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

Cocos Creator scrollview添加事件的两种方法

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

在Activity中响应ListView内部按钮的点击事件的两种方法!!!

在Activity中响应ListView内部按钮的点击事件的两种方法 转载:http://www.cnblogs.com/ivan-xu/p/4124967.html 最近交流群里面有人问到一个问题: ...

Linux添加系统调用的两种方法

前言 系统调用的基本原理 系统调用其实就是函数调用,只不过调用的是内核态的函数,但是我们知道,用户态是不能随意调用内核态的函数的,所以采用软中断的方式从用户态陷入到内核态.在内核中通过软中断0X80, ...

安卓开发笔记(十八):实现button按钮事件的三种方法

Android开发中有三种主要的方式用于设置View的点击事件,1.创建内部类:2.主类中实现OnClickListener接口:3.使用匿名内部类.这三种方式都用到了OnClickListener接 ...

unity3d为对象添加脚本的两种方法

首先添加一个物体,然后新建一个C#脚本.接下去有两种方法把C#脚本与物体绑定. 1.在类声明上方添加如下代码: [AddComponentMenu("a/b")] 这句话表示在该物 ...

关于MySQL中添加数据的两种方法

下面介绍两种执行SQL命令的方法,并作出相应地总结,第一种介绍一种常规用法,下面进行做简要地分析,首先我们需要执行打开数据库操作首先创建一个MySqlConnection对象,在其构造函数中传入一个连 ...

一、winForm-DataGridView操作——控件绑定事件的两种方法

在winForm窗体中绑定(注册)事件的方法有两种: 一.绑定事件 双击控件,即进入.cs的代码编辑页面,会出现 类似于“ private void 控件名称_Click(object sender, ...

在Activity中响应ListView内部按钮的点击事件的两种方法

转载:http://www.cnblogs.com/ivan-xu/p/4124967.html 最近交流群里面有人问到一个问题:如何在Activity中响应ListView内部按钮的点击事件,不要在 ...

随机推荐

Logistic Regression and Gradient Descent

Logistic Regression and Gradient Descent Logistic regression is an excellent tool to know for classi ...

《转》.NET开源核心运行时,且行且珍惜

转载自infoQ 背景 InfoQ中文站此前报道过,2014年11月12日,ASP.NET之父.微软云计算与企业级产品工程部执行副总裁Scott Guthrie,在Connect全球开发者在线会议上宣 ...

【Linux安全】安全口令策略设置

命令: vim /etc/login.defs 默认设置: # Password aging controls: # # PASS_MAX_DAYS Maximum number of days a ...

html模板中的数字保留两位小数

Spring事物的属性

链接:https://www.nowcoder.com/questionTerminal/1c65d30e47fb4f59a5e5af728218cac4?orderByHotValue=2& ...

Java 架构师

“学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会.个人认为看书有两点好处: 1.能出版出来的书一定是经过反复的思考.雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超 ...

java-mybaits-00201-DAO-SqlSession使用范围

1.SqlSession的使用范围 SqlSession中封装了对数据库的操作,如:查询.插入.更新.删除等. 通过SqlSessionFactory创建SqlSession,而SqlSessionF ...

Beta阶段第2周/共2周 Scrum立会报告+燃尽图 14

作业要求[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2411] 版本控制:https://git.coding.net/liuyy08 ...

mac sublime切换编辑语言的方法(添加其他版本的python)

在sublime中指定python版本,操作如下: Sublime——tools——build system——new build system 把文件中的内容替换为 { "cmd&quot ...

论文笔记:dropout

Improving neural networks by preventing co-adaptation of feature detectors arXiv preprint arXiv: 120 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值