近期试用了下cocos ide,然后引擎用的cocos2dx js 3 final,须要build runtime一下,以下是cocos studio相关的一些事件:

加入事件侦听:

        // button
var root = ccs.uiReader.widgetFromJsonFile("res/UIButton_Editor/UIButton_Editor_1.json");
this.addChild(root); var back_label = ccui.helper.seekWidgetByName(root, "back");
back_label.addTouchEventListener(this.backEvent,this); var button = ccui.helper.seekWidgetByName(root, "Button_123");
button.addTouchEventListener(this.touchEvent,this); var title_button = ccui.helper.seekWidgetByName(root, "Button_126");
title_button.addTouchEventListener(this.touchEvent,this); var scale9_button = ccui.helper.seekWidgetByName(root, "Button_129");
scale9_button.addTouchEventListener(this.touchEvent,this); // check box
var root = ccs.uiReader.widgetFromJsonFile("res/UICheckBox_Editor/ui_checkbox_editor_1.json");
this.addChild(root); var checkbox = ccui.helper.seekWidgetByName(root, "CheckBox_540");
cc.log(checkbox.addEventListener);
checkbox.addEventListener(this.selectedStateEvent,this); // list view
var LISTVIEW_RES = [
"res/UIListView_Editor/UIListView_Vertical_Editor/ui_listview_editor_1.json",
"res/UIListView_Editor/UIListView_Horizontal_Editor/ui_listview_horizontal_editor_1.json"
];
var root = ccs.uiReader.widgetFromJsonFile(LISTVIEW_RES[0]);
this.addChild(root); var listView = ccui.helper.seekWidgetByName(root, "ListView_1214");
listView.addEventListener(this.selectedItemEvent,this); // page view
var root = ccs.uiReader.widgetFromJsonFile("res/UIPageView_Editor/ui_pageview_editor_1.json");
this.addChild(root); var pageView =ccui.helper.seekWidgetByName(root, "PageView_1269");
pageView.addEventListener(this.pageViewEvent, this); // RichText
var richText = ccui.RichText.create();
richText.ignoreContentAdaptWithSize(false);
richText.setContentSize(cc.size(120, 100)); var re1 = ccui.RichElementText.create(1, cc.color.WHITE, 255, "This color is white. ", "Helvetica", 10);
var re2 = ccui.RichElementText.create(2, cc.color.YELLOW, 255, "And this is yellow. ", "Helvetica", 10);
var re3 = ccui.RichElementText.create(3, cc.color.BLUE, 255, "This one is blue. ", "Helvetica", 10);
var re4 = ccui.RichElementText.create(4, cc.color.GREEN, 255, "And green. ", "Helvetica", 10);
var re5 = ccui.RichElementText.create(5, cc.color.RED, 255, "Last one is red ", "Helvetica", 10); var re6 = ccui.RichElementText.create(7, cc.color.ORANGE, 255, "Have fun!! ", "Helvetica", 10);
richText.pushBackElement(re1);
richText.insertElement(re2, 1);
richText.pushBackElement(re3);
richText.pushBackElement(re4);
richText.pushBackElement(re5);
richText.pushBackElement(re6); richText.setPosition(cc.p(1280 / 2, 720 / 2));
this.addChild(richText); // slider
var root = ccs.uiReader.widgetFromJsonFile("res/UISlider_Editor/ui_slider_editor_1.json");
this.addChild(root); var slider = ccui.helper.seekWidgetByName(root, "Slider_738");
slider.addEventListener(this.sliderEvent,this); var scale9_slider = ccui.helper.seekWidgetByName(root, "Slider_740");
scale9_slider.addEventListener(this.sliderEvent,this); // text field
var root = ccs.uiReader.widgetFromJsonFile("res/UITextField_Editor/ui_textfield_editor_1.json");
this.addChild(root); var textField_normal = ccui.helper.seekWidgetByName(root, "TextField_1109");
textField_normal.addEventListener(this.textFieldEvent,this); var textField_max_character = ccui.helper.seekWidgetByName(root, "TextField_1110");
textField_max_character.addEventListener(this.textFieldEvent,this); var textField_password = ccui.helper.seekWidgetByName(root, "TextField_1107");
textField_password.addEventListener(this.textFieldEvent,this);

各个事件回调:

// widget
touchEvent: function (sender, type) {
switch (type) {
case ccui.Widget.TOUCH_BEGAN:
cc.log("Touch Down");
break; case ccui.Widget.TOUCH_MOVED:
cc.log("Touch Move");
break; case ccui.Widget.TOUCH_ENDED:
cc.log("Touch Up");
break; case ccui.Widget.TOUCH_CANCELED:
cc.log("Touch Cancelled");
break; default:
break;
}
}, // check box
selectedStateEvent: function (sender, type) {
switch (type) {
case ccui.CheckBox.EVENT_SELECTED:
cc.log("Selected");
break;
case ccui.CheckBox.EVENT_UNSELECTED:
cc.log("Unselected");
break; default:
break;
}
}, // list view
selectedItemEvent: function (sender, type) {
switch (type) {
case ccui.ListView.EVENT_SELECTED_ITEM:
var listViewEx = sender;
cc.log("select child index = " + listViewEx.getCurSelectedIndex());
break; default:
break;
}
}, // page view
pageViewEvent: function (sender, type) {
switch (type) {
case ccui.PageView.EVENT_TURNING:
var pageView = sender;
cc.log("page = " + (pageView.getCurPageIndex() + 1));
break;
default:
break;
}
}, // slider
sliderEvent: function (sender, type) {
switch (type) {
case ccui.Slider.EVENT_PERCENT_CHANGED:
var slider = sender;
var percent = slider.getPercent();
cc.log("Percent " + percent.toFixed(0));
break;
default:
break;
}
}, // text field
textFieldEvent: function (sender, type) {
switch (type) {
case ccui.TextField. EVENT_ATTACH_WITH_IME:
cc.log("attach with IME");
break;
case ccui.TextField. EVENT_DETACH_WITH_IME:
cc.log("detach with IME");
break;
case ccui.TextField. EVENT_INSERT_TEXT:
cc.log("insert words");
break;
case ccui.TextField. EVENT_DELETE_BACKWARD:
cc.log("delete word");
break;
default:
break;
}
}

cocostudio——js 3 final控件事件的更多相关文章

  1. (转)客户端触发Asp.net中服务端控件事件

    第一章. Asp.net中服务端控件事件是如何触发的 Asp.net 中在客户端触发服务端事件分为两种情况: 一. WebControls中的Button 和HtmlControls中的Type为su ...

  2. JS数量输入控件

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

  3. RxJava RxBinding RxView 控件事件 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  4. 基于MFC的网页ActiveX控件开发全程实录2(js向ActiveX控件传递参数)

    原文转自 https://blog.csdn.net/qianbin3200896/article/details/81452822 1.ActiveX控件部分(JS到ActiveX控件)继续上一篇博 ...

  5. MFC 设置控件事件对应的函数

    在项目中,右击你想设置的控件,打开属性. 然后找到:控件事件,如果在Visual Studio 2015中操作,显示如图: 然后,以设定单击事件为例: 点击右边的三角,选择 <Edit Code ...

  6. 用js给html控件赋值

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

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

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

  8. Python pyQt4/pyQt5 学习笔记1(空白窗口,按钮,控件事件,控件提示,窗体显示到屏幕中间,messagebox)

    PyQt4是用来编写有图形界面程序(GUI applications)的一个工具包.PyQt4作为一个Python模块来使用,它有440个类和超过6000种函数和方法.同时它也是一个可以在几乎所有主流 ...

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

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

随机推荐

  1. itextSharp 对pdf的每个页面添加footer/header

    static void SetAllHeaderFooter(string inputPath) { PdfReader reader=new PdfReader(inputPath); PdfSta ...

  2. 四个流行的Java连接池之Proxool篇

    Proxool是一个JavaSQL Driver驱动程序,提供了对你选择的其它类型的驱动程序的连接池封装.可以非常简单的移植到现存的代码中.完全可配置.快速,成熟,健壮.可以透明地为你现存的JDBC驱 ...

  3. 写一个函数int get(),这个函数运行一次可以从V[N]里随机取出一个数,而这个数必须是符合1/N平均分布的

    题目:有一个函数int getNum(),每运行一次可以从一个数组V[N]里面取出一个数,N未知,当数取完的时候,函数返回NULL.现在要求写一个函数int get(),这个函数运行一次可以从V[N] ...

  4. 读书与写论文的引导书——leo鉴书60

    我是专科直接考的研究生.在论文写作方面基本能够算是初级.MBA毕业那会儿要写论文,在网上找了不少这方面的书,<论文与治学>是当中之中的一个. 这本那时为应景儿卖的书,成了我之后学习与工作的 ...

  5. EasyUI - DataGrid 组建 - [ 排序功能 ]

    效果: 红框的字段看,为设置了,列排序,向后台Post数据sort/order. 原理:向后台POST数据,sort/post数据. html代码: <table id="tab&qu ...

  6. Control.Invoke和Control.BeginInvoke

    问题的引入 下面有个简单的demo,大家一看代码就知道效果如何示例.我新建一个winform的程序,然后写入了如下代码: using System; using System.Windows.Form ...

  7. EF连接MySQL数据Web.Config配置

    EF连接MySQL数据Web.Config配置 <?xml version="1.0" encoding="utf-8"?> <configu ...

  8. MYSQL 语法大全自己总结的

    mysql语法大全 --------数据链接---------------------数据库服务启动net start mysql --关闭服务net stop mysql --登录 -u,-p后面不 ...

  9. Taxonomy of class loader problems encountered when using Jakarta Commons Logging(转)

    Acknowledgments I would like to thank Jacob Kjome for reviewing early drafts of this document. His c ...

  10. 嵌入式ntp服务器的移植

    一.交叉编译 1.官网下载http://www.ntp.org/点击download选项页 我的版本是ntp-4.2.6p5.tar.gz 2.解压 tar -zxvf ntp-4.2.6p5.tar ...