cocostudio——js 3 final控件事件

最近试用了下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;
    	}
    }
时间: 2024-08-05 01:22:50

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

JS模拟select控件的代码

用JavaScript模拟实现Select下拉选框功能,在本效果的实现上,背景图片起到了非常重要的美化作用,然后用CSS和JS分别对LI进行控制,最终实现漂亮的Select效果. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns=&q

js操作select控件大全(包含新增、修改、删除、选中、清空、判断存在等)

原文:js操作select控件大全(包含新增.修改.删除.选中.清空.判断存在等) js操作select控件大全(包含新增.修改.删除.选中.清空.判断存在等) js 代码// 1.判断select选项中 是否存在Value="paraValue"的Item        function jsSelectIsExitItem(objSelect, objItemValue) {            var isExit = false;            for (var i

.net控件事件中的Sender

private void button2_Click(object sender, RoutedEventArgs e) { } 最近看WPF内容,回顾下.net大家天天都在用,却不是十分关注的一个对象----sender 问:sender到底是什么呢? 答:所有的服务器控件中事件都会有(可能说的太绝对,应该说大多会吧),sender指的是触发事件的控件. private void button2_Click(object sender, RoutedEventArgs e) { Button

WPF系列之二:解耦View层控件事件与ViewModel层事件的响应

以前的做法: 1.当项目的时间比较紧迫的时候,对UI层中控件的事件的处理,往往采取的是类似Winform中最简单的做法,直接做一个事件的Handler直接去调用VM层的方法. 2.控件只有一个Command属性,其它的事件的处理方法没有办法和ViewModel层进行解耦的时候往往也采取上面提到的方法. 如下图所示: 新的做法: 为了实现事件的处理与View层的解耦,我们可以利用WPF提供的附加属性来为需要的事件添加附加行为.附加属性扮演了一个在View层与Model层牵线的角色. 需要下面三个步

用js给html控件赋值

用js给html控件赋值 <script> window.onload=function setValue()//在页面加载时赋值 { document.getElementById("你要赋值的控件ID").value=你需要赋的值; //$("#aa").html('给html赋值'); //document.getElementById('aa').innerText='给html赋值'; //document.getElementById('aa

JS获取时间控件

引用JS文件: <script src="../js/my97/WdatePicker.js" type="text/javascript"></script> <script> function chkAddAction(){ var starttime = $.trim($('#starttime').val()); var endtime= $.trim($('#endtime').val()); if(starttime

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

原文地址:ADF控件ID变化引发JS无法定位控件的解决方法作者:Nicholas JSFF定义的控件ID到了客户端时往往会改变.例如在JSFF中的一个的ID为"ot1",但是当这个JSFF被嵌入TaskFlow中,并以Region的方式在页面展示时,在浏览器中,此控件的ID就会变成"r1:0:ot1". ADF动态修改控件ID的原因其实是为了提供重用性的同时防止控件ID的冲突.试想如果有两个JSFF中分别都有一个,其ID均为ot1,那么当这两个JSFF被引入同一个页

抓取第三方广告弹窗里的控件事件-测试成功

由于应用里面添加了弹窗的广告,但是为.a的库文件,出于好奇想抓取弹窗广告内的控件事件,于是写了如下代码测试,成功! for (id obj in [[[UIApplication sharedApplication] keyWindow] subviews]) { NSLog(@"Class Name[%s]", object_getClassName(obj)); NSString * str = [NSString stringWithFormat:@"%s",

ASP.NET用户控件事件的定义和实践

假定用户控件(UserControl.ascx)中包含按钮控件  AButton,希望实现按  Button  按钮时,包含该用户控件的页面可以接收到事件. UserControl.ascx.cs  中的处理: 1. 定义  public  的事件委托,如  ClickEventHandler; 2. 在  UserControl  类中声明事件,如  Click; 3. 在  UserControl  类中定义引发事件的方法,如  OnClick()方法; 4. 在  UserControl