Toggle 组件参考

Toggle 是一个 CheckBox,当它和 ToggleGroup 一起使用的时候,可以变成 RadioButton。 属性检查器下面的添加组件按钮,然后从添加 UI 组件中选择 Toggle,即可添加 Toggle 组件到节点上。 Toggle API。

Toggle 属性

注意:因为 Toggle 继承至 Button,所以关于 Toggle 的 Button 相关属性的详细说明和用法请参考 Button 组件对应的章节,这里就不再赘述了。

Toggle 事件

Toggle 的事件回调有三个参数,第一个参数是 EventCustom ,第二个参数是 Toggle 本身, 最后一个参数是 customEventData。

详细说明

Toggle 组件的节点树一般为: 这里注意的是,checkMark 组件所在的节点需要放在 background 节点的上面。

通过脚本代码添加回调

方法一

你需要首先构造一个 cc.Component.EventHandler 对象,然后设置好对应的 target, component, handler 和 customEventData 参数。

  1. var checkEventHandler = new cc.Component.EventHandler();checkEventHandler.target = this.node; //这个 node 节点是你的事件处理代码组件所属的节点checkEventHandler.component = "cc.MyComponent"checkEventHandler.handler = "callback";checkEventHandler.customEventData = "foobar";toggle.checkEvents.push(checkEventHandler);//here is your component filecc.Class({ name: 'cc.MyComponent' extends: cc.Component, properties: { }, callback: function(toggle, customEventData) { //这里 toggle 是 事件发出的 Toggle 组件 //这里的 customEventData 参数就等于你之前设置的 "foobar" }});
方法二

toggle.node.on('toggle', ...) 的方式来添加

  1. //假设我们在一个组件的 onLoad 方法里面添加事件处理回调,在 callback 函数中进行事件处理:cc.Class({ extends: cc.Component, properties: { toggle: cc.Toggle }, onLoad: function () { this.toggle.node.on('toggle', this.callback, this); }, callback: function (event) { //这里的 event 是一个 EventCustom 对象,你可以通过 event.detail 获取 Toggle 组件 var toggle = event.detail; //do whatever you want with toggle }});

ToggleGroup 组件参考。