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

逻辑代码如下:

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

    新闻 Bolero: 用于WebAssembly的F#工具 Ionide-fsharp安装数量超过10万 WPF的Xaml.Behaviors类库开源 Visual Studio 2019预览版 .N ...

  2. {Django基础九之中间件} 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证

    Django基础九之中间件 本节目录 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证 六 xxx 七 xxx 八 xxx 一 前戏 我们在前面的课程中已经学会了 ...

  3. C# chart 编程教程

    http://www.gcpowertools.com.cn/docs/ComponentOne/WinFormChart/#!Documents/_41.htm

  4. Luogu 1603 - 斯诺登的密码 - [简单字符串操作]

    题目链接:https://www.luogu.org/problemnew/show/P1603 题目背景 根据斯诺登事件出的一道水题 题目描述 2013年X月X日,俄罗斯办理了斯诺登的护照,于是他混 ...

  5. [No0000E4]C# 常量

    常量是固定值,程序执行期间不会改变.常量可以是任何基本数据类型,比如整数常量.浮点常量.字符常量或者字符串常量,还有枚举常量. 常量可以被当作常规的变量,只是它们的值在定义后不能被修改. 整数常量 整 ...

  6. 编译安装hadoop2.x

    1.Requirements: * Unix System * JDK 1.7+ * Maven 3.0 or later * Findbugs 1.3.9 (if running findbugs) ...

  7. PostgreSQL+PostGIS安装以及使用

    安装,参照:    https://www.cnblogs.com/ytwy/p/6817179.html 创建企业级地理文件数据库时报错," You must copy the lates ...

  8. 压缩维度oj P1173+P1174+P1164

    今天在洛谷上刷dp,忽然冒出一道求最大字段和的问题,然后忘了瞬间忘了这是dp,几分钟一个贪心出来了成功ac,忽然想起自己在作dp,于是乖乖刷dp. 这个可能很多人都会但是今天有4种解法哦,本人只尝试了 ...

  9. day4_修改文件

    修改文件有两种方式:一种是把文件的全部内容都读到内存中,然后把原有的文件内容清空,重新写新的内容:第二种是把修改后的文件内容写到一个新的文件中 第一种:一次性把文件全部读到,读到内存这个能,这种文件小 ...

  10. replace函数的使用(替换单个和全局)

    //单个 var aa="1-2-3"; aa=aa.replace(',',"."); console.log(aa); //全局替换 var aa=&quo ...