在studio里把几个基础控件往场景文件一拖,然后导出json格式的资源文件

逻辑代码如下:

  1 var HelloWorldLayer = cc.Layer.extend({
2 sprite:null,
3 value : 90,
4 // self : this,
5 ctor:function () {
6 //////////////////////////////
7 // 1. super init first
8 this._super();
9
10 /////////////////////////////
11 // 2. add a menu item with "X" image, which is clicked to quit the program
12 // you may modify it.
13 // ask the window size
14 var size = cc.winSize;
15
16 this.initUI();
17
18 return true;
19 },
20
21 //init ui
22 initUI : function(){
23 var mainscene = ccs.load(res.MainScene_json);
24 this.addChild(mainscene.node);
25
26 var self = this;
27 // btn.addClickEventListener(this.btnClick);
28 // addTouchEventListener(this.backEvent,this);
29
30 var btn = ccui.helper.seekWidgetByName(mainscene.node, "Button_9");
31 btn.addClickEventListener(function(){
32 cc.log("btn_9 click: %d", self.value);
33 });
34
35
36 var checkBox = ccui.helper.seekWidgetByName(mainscene.node, "CheckBox_2");
37 this.checkBox = checkBox;
38 checkBox.addEventListener(this.selectedStateEvent, this);
39
40 //slider addClickEventListener、addTouchEventListener 事件在鼠标松开时才触发 //
41 // addEventListener 在按住并有移动时(值不一定有改变)就触发 //
42 var slider = ccui.helper.seekWidgetByName(mainscene.node, "Slider_2");
43 this.slider = slider;
44 slider.addClickEventListener(function(){
45 var percent = slider.getPercent();
46 cc.log("addClickEventListener %d", percent);
47 });
48
49 slider.addTouchEventListener(function(){
50 var percent = slider.getPercent();
51 cc.log("addTouchEventListener %d", percent);
52 });
53
54 slider.addEventListener(this.sliderEvent,this);
55
56
57 var textField = ccui.helper.seekWidgetByName(mainscene.node, "TextField_3");
58 this.textFiel = textField;
59 textField.addEventListener(this.textFieldEvent,this);
60
61 var loadingBar = ccui.helper.seekWidgetByName(mainscene.node, "LoadingBar_2");
62 this.loadingBar = loadingBar;
63 // loadingBar.addTouchEventListener();
64
65 var label = ccui.helper.seekWidgetByName(mainscene.node, "Text_2");
66 this.label = label;
67
68 var image = ccui.helper.seekWidgetByName(mainscene.node, "Image_1");
69 this.image = image;
70
71 },
72
73 selectedStateEvent: function (sender, type) {
74 switch (type) {
75 case ccui.CheckBox.EVENT_SELECTED:
76 //this._topDisplayText.setString("Selected");
77 cc.log("checkbox select");
78 this.image.setVisible(true);
79 break;
80 case ccui.CheckBox.EVENT_UNSELECTED:
81 //this._topDisplayText.setString("Unselected");
82 cc.log("checkbox unselect");
83 this.image.setVisible(false);
84 break;
85
86 default:
87 break;
88 }
89 },
90
91 sliderEvent: function (sender, type) {
92 switch (type) {
93 case ccui.Slider.EVENT_PERCENT_CHANGED:
94 var slider = sender;
95 var percent = slider.getPercent();
96 // this._topDisplayText.setString("Percent " + percent.toFixed(0));
97 cc.log("addEventListener %f", percent);
98 this.label.setString(Math.floor(percent));//setString(percent) 会在后面多一个点, 如 123.
99 break;
100 default:
101 break;
102 }
103 },
104
105 textFieldEvent: function (sender, type) {
106
107 switch (type) {
108 //get focus
109 case ccui.TextField. EVENT_ATTACH_WITH_IME:
110 cc.log("attach with IME");
111 break;
112 //lost focus
113 case ccui.TextField. EVENT_DETACH_WITH_IME:
114 cc.log("detach with IME");
115 break;
116 //insert word
117 case ccui.TextField. EVENT_INSERT_TEXT:
118 var text = sender.getString();
119 var percent = parseInt(text);
120 this.loadingBar.setPercent(percent);
121 // cc.log(text);
122 break;
123 //delete word
124 case ccui.TextField. EVENT_DELETE_BACKWARD:
125 //cc.log("delete word");
126 var text = sender.getString();
127 var percent = parseInt(text);
128 this.loadingBar.setPercent(percent);
129 break;
130 default:
131 break;
132 }
133 }
134
135 });

Cocos2d-JS studio基础控件的使用的更多相关文章

  1. Cocos2d-JS项目之二:studio基础控件的使用

    在studio里把几个基础控件往场景文件一拖,然后导出json格式的资源文件 逻辑代码如下: var HelloWorldLayer = cc.Layer.extend({ sprite:null, ...

  2. Android Studio 基础控件使用

    TextView android:gravity="center" //文字对其方式 top bottom left right center android:textColor= ...

  3. React Native环境搭建以及几个基础控件的使用

    之前写了几篇博客,但是没有从最基础的开始写,现在想了想感觉不太合适,所以现在把基础的一些东西给补上,也算是我从零开始学习RN的经验吧! 一.环境搭建 首先声明一下,本人现在用的编辑器是SublimeT ...

  4. ADF控件ID变化引发JS无法定位控件的解决方法

    原文地址:ADF控件ID变化引发JS无法定位控件的解决方法作者:Nicholas JSFF定义的控件ID到了客户端时往往会改变.例如在JSFF中的一个的ID为"ot1",但是当这个 ...

  5. [iOS基础控件 - 5.5] 代理设计模式 (基于”APP列表"练习)

    A.概述      在"[iOS基础控件 - 4.4] APP列表 进一步封装,初见MVC模式”上进一步改进,给“下载”按钮加上效果.功能      1.按钮点击后,显示为“已下载”,并且不 ...

  6. Delphi一共封装(超类化)了8种Windows基础控件和17种复杂控件

    超类化源码: procedure TWinControl.CreateSubClass(var Params: TCreateParams; ControlClassName: PChar); con ...

  7. JS数量输入控件

    JS数量输入控件 很早看到kissy首页 有数量输入控件,就随便看了下功能 感觉也不怎么难 所以也就试着自己也做了一个, 当然基本的功能和他们的一样,只是用了自己的编码思想来解决这么一个问题.特此给大 ...

  8. 用js给html控件赋值

      用js给html控件赋值 <script> window.onload=function setValue()//在页面加载时赋值 { document.getElementById( ...

  9. 2.23 js处理日历控件(修改readonly属性)

    2.23 js处理日历控件(修改readonly属性) 前言    日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如 ...

随机推荐

  1. Unable to cast object of type 'System.Int32' to type 'System.Array'.

    x 入职了新公司.最近比较忙...一看博客...更新频率明显少了...罪过罪过... 新公司用ASP.NET MVC 遇上一个错误: Unable to cast object of type 'Sy ...

  2. 汇编debug工具详解

    关于debug工具里的各个指令的用法 debug调试工具详解: r:可以查看,和改变寄存器中的内容具体用法:·直接输入r的时候,回车显示当前指向内存单元中所有寄存器中的内容,并将所指机器码翻译成汇编指 ...

  3. CCPC-Wannafly Winter Camp Day5 Div1 - Sorting - [线段树]

    题目链接:https://zhixincode.com/contest/22/problem/I?problem_id=314 样例输入 1 5 9 31 5 3 2 41 1 52 1 51 1 1 ...

  4. [No000010B]Git4/9-时光机穿梭

    我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容: Git is a distributed version c ...

  5. [No0000108]Git1/9-Git简介与入门

    Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一). Git有什么特点?简单来说就是:高端大气上档次! 那什么是版本控制系统? 如果你用Microsoft Word写过长篇大论, ...

  6. hdu-6415 Rikka with Nash Equilibrium dp计数题

    http://acm.hdu.edu.cn/showproblem.php?pid=6415 题意:将1~n*m填入一个n*m矩阵 问只有一个顶点的构造方案. 顶点的定义是:某数同时是本行本列的最大值 ...

  7. 2015年蓝桥杯省赛A组c++第3题

    /* 小明发现了一个奇妙的数字.它的平方和立方正好把0~9的10个数字每个用且只用了一次. 你能猜出这个数字是多少吗? 请填写该数字,不要填写任何多余的内容. */ #include<cstdi ...

  8. 洛谷P3295 萌萌哒 [SCOI2016] 倍增+并查集

    正解:倍增+并查集 解题报告: 传送门! 首先不难想到暴力?就考虑把区间相等转化成对应点对相等,然后直接对应点连边,最后求有几个连通块就好辣 然后看下复杂度,修改是O(n2)查询是O(n),就比较容易 ...

  9. 使用Maven根据WSDL生成生成Java代码

    转载:https://blog.csdn.net/pzasdq/article/details/52601473 为便于自己学习,整理 修改pom.xml <project xmlns=&quo ...

  10. vue监听路由的变化,跳转到同一个页面时,Url改变但视图未重新加载问题

    引入:https://q.cnblogs.com/q/88214/ 解决方法: 添加路由监听,路由改变时执行监听方法 methods:{ fetchData(){ console.log('路由发送变 ...