cocos2d-js 按钮的默认选中状态的简单实现

使用软件,cocos V3.10大集合 Mac系统

需求:同一个界面上三个按钮,每个按钮对应不同的操作,默认显示一个按钮为选中状态,其他两个为未选中状态,操作中点击那个按钮那个为选中状态,其他变为未选中状态

一,首先我们使用cocos新建一个Cocos2d-js的新项目,然后再cocostudio中创建一个场景,在场景中添加三个按钮分别设置三态的图片

二,打开编辑器,实现代码如下

 1 var HelloWorldLayer = cc.Layer.extend({
 2
 3     ctor:function () {
 4
 5         this._super();
 6
 7         //导入cocostudio中拼好的界面
 8         mainscene = ccs.load(res.MainScene_json).node;
 9         this.addChild(mainscene);
10
11         this.teamButton = ccui.helper.seekWidgetByName(mainscene,"Button_0");
12         var btn2 = ccui.helper.seekWidgetByName(mainscene,"Button_1");
13         var btn3 = ccui.helper.seekWidgetByName(mainscene,"Button_2");
14
15
16
17          //先默认设置一个按钮为选中状态   this.teamButton.setBrightStyle(ccui.Widget.BRIGHT_STYLE_HIGH_LIGHT);
18         this.teamButton.setEnabled(false);
19         var teamInfo = this.teamButton;
20
21
22         this.teamButton.addTouchEventListener(this.selectedBtn1,this);
23         btn2.addTouchEventListener(this.selectedBtn2,this);
24         btn3.addTouchEventListener(this.selectedBtn3,this);
25
26         return true;
27     },
28
29     selectedBtn1: function (sender, type) {
30         if(type == ccui.Widget.TOUCH_ENDED){
31             this.callBack(sender);
32             cc.log("==========商店界面");
33         }
34
35     },
36     selectedBtn2: function (sender, type) {
37         if(type == ccui.Widget.TOUCH_ENDED){
38             this.callBack(sender);
39             cc.log("==========卡牌界面");
40         }
41
42     },
43     selectedBtn3: function (sender, type) {
44         if(type == ccui.Widget.TOUCH_ENDED){
45             this.callBack(sender);
46             cc.log("==========战斗界面");
47         }
48
49     },
50
51     callBack: function (sender) {
52         if (this.teamButton == sender){
53             return;
54         }else{
55             this.teamButton.setBrightStyle(ccui.Widget.BRIGHT_STYLE_NORMAL);
56             this.teamButton.setEnabled(true);
57             sender.setBrightStyle(ccui.Widget.BRIGHT_STYLE_HIGH_LIGHT);
58             sender.setEnabled(false);
59             this.teamButton = sender;
60         }
61     },
62 });
63
64
65
66 var HelloWorldScene = cc.Scene.extend({
67     onEnter:function () {
68         this._super();
69         var layer = new HelloWorldLayer();
70         this.addChild(layer);
71     }
72 });

三,运行就可以查看界面,点击不同的按钮显示不同的输出结果

[Log] ==========商店界面 (CCDebugger.js, line 331)
[Log] ==========卡牌界面 (CCDebugger.js, line 331)
[Log] ==========战斗界面 (CCDebugger.js, line 331)

时间: 2024-10-17 19:52:27

cocos2d-js 按钮的默认选中状态的简单实现的相关文章

UITableView&UICollectionView设置单元格的默认选中状态

1. 场景需求 一个表格视图(或者宫格视图)中,当一个单元格被选中时设置彩色样式,选中其它单元格时设置灰色样式. 2. 一个思路 通过实现选中和非选择的代理,以在适当的时机进行UI更新操作. 3. UITableView 3.1 通过屏幕点击改变的选中状态回调给代理 //选中-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath;//非选中-(void)tableView:(

iOS 实现多个按钮,点选一个其它都取消选中状态的最佳方法

先说一下原理,就是利用中间变量来记录某个选中状态的按钮,加一个判断,如果用户下一次点击的不是这个按钮那么用中间变量把这个按钮的选中状态取消掉,再把新的按钮赋值给中间变量,这能保证选中状态的惟一性.这里是OC 应用在iOS 项目中的,下面来看具体实现. 首先我们先定义一个中间变量 @property (strong,nonatomic)UIButton * tmpBtn; 然后在ViewDidLoad方法里,创建四个按钮,设置它们属性,以及点击方法,在此外设置中间变量tmpBtn = nil; —

JS 判断 Radio 单选按钮是否为选中状态 并弹出 值信息

今天项目中所解决的问题:JS 判断 Radio 单选按钮是否为选中状态 并弹出 值信息,一开始总是获取不到 radio 的值,后来发现逻辑存在些问题,特此共享该代码留笔记 和 分享给遇到 这类问题的 兄弟们参考: <script type="text/javascript"> //判断个函数 以上 5 个Radio 那个为选中状态 function judgeRadioClicked() { //获得 单选选按钮name集合 var radios = document.ge

JS 省市区级联 修改地址操作时的默认选中方法

省市区级联JS控件 下载地址http://files.cnblogs.com/bin-pureLife/%E5%B0%8F%E5%9B%BE%E6%A0%87.zip function update(province,city,county){ $("#s_province option").each(function(){ if($(this).val()==province){ $(this).attr('selected',true) change(1); } }); $(&qu

js checkbox选中状态

jquery获取checkbox的选中状态 $('#checkboxID').attr('checked'); 发现,以上代码,无论input checkbox是选中还是未选中状态,无论IE还是Chrome,返回结果都是undefinded: 查阅发现:jquery1.6版本对此作了修改,checked属性在页面初始化的时候就已经初始化好了,不会随着状态改变而变.也就是说checkbox在页面加载完毕是选中状态,则永远返回checked,如果一开始没被选中,则永远返回undefinded. 在J

Python3 tkinter基础 Radiobutton variable 默认选中的按钮

? python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 conda : 4.5.11 type setting : Markdown ? code """ @Author : 行初心 @Date : 18-10-1 @Blog : www.cnblogs.com/xingchuxin @GitHub : github.com/GratefulHeartCoder """ fr

jquery循环遍历radio单选按钮,并设置选中状态

背景:自己在做项目过程中遇到的问题,现在记录一下. 需求:在ajax获取后台数据的之后,需要根据获取的数据对页面中的radio单选按钮进行选中状态设置 因为自身js功底欠佳,所以耽误了点时间,现在把方法写一下 先贴一下html代码,这里就以最简单的代码来演示: <input type="radio" class="optionsRadios" value="1">是 <input type="radio" c

Robot Framework与Web界面自动化测试学习笔记:如何判断单选框的选中状态

单选按钮是个常见的html元素,在网页中往往提供一组单选按钮来做选项. 这样在自动化测试用例中需要判断当前选中的按钮是否与预期的一直. 可以这样来操作: ${value}    Get Element Attribute    xpath=//form[@id='xxx']/*/input[@value='yyy']@checked 上面的关键字Get Element Attribute是获取html元素的指定属性的属性值.该关键的字的参数是 元素定位符后加上@要获取的属性名 上面例子是获取 c

jQuery实现点击单选按钮切换选中状态效果

实现效果:第一次点击单选按钮时选中该按钮,再次点击时取消选中该单选按钮. 关键就是要将单选按钮原来的值保存起来,第二次点击时.如果原来选中则取消,否则选中. 看代码吧,是用jQuery实现的,功能虽小.知识点不少啊..... Js代码   $(document).ready(function(){ var old = null; //用来保存原来的对象 $("input[name='sex']").each(function(){//循环绑定事件 if(this.checked){ o