cocos js 踩坑旅程 之ccui.Button 那点事

之前工作的时候一直使用的是lua脚本语言,最近刚刚接触cocos-JS发现要踩的坑还有很多,再次将我踩过的一些坑写出来。转入正题

在cocosjs中创建一个button(按钮)大体可以分为3种方法。

1.创建一个Menu。

2.使用cocostudio编辑器编辑ui界面导入到工程中通过getChildByTag(),getChildByName()获取这个button。

3.直接 new ccui.Button();

但是 会出现报错  ccui is not defined,原因就是没有引入 “extensions”模块,所以需要在project.json中的 modules中添加 extensions ,ex:modules:["cocos2d-x","extensions"];

修改之后就可以正常使用ccui

var btn_close= new ccui.Button(res.Btn_close_normal,res.Btn_close_selected);
        //btn_close.loadTextureDisabled(res.HelloWorld_png);
        //设置导入资源true
        //btn_close.loadTextureNormal(res.HelloWorld_png);
        //btn_close.setTouchEnabled(false);设置按钮能否点击
        //btn_close.setScale9Enabled(true);//设置按钮能否进行scale9缩放,需要设置按钮的尺寸
        btn_close.setPosition(size.width/2,size.height/2);
        btn_close.setPressedActionEnabled(false);//设置是否伴随点击缩放按钮图片
        btn_close.setTitleText("Title Button");//在按钮上方添加一个label.
        //btn_close.setContentSize(cc.size(150, 48));
        //btn_close.addTouchEventListener(this.touchEvent,this)

btn_close.addClickEventListener cc.MenuItem (function (sender, type) { cc.log("哈哈哈111"); if(type==ccui.Widget.TOUCH_BEGAN) { cc.log("哈哈哈"); } },this); this.addChild(btn_close);

通过ccuix.Button 创建的btn,存在两种触发点击事件的方法
addClickEventListener(只在按钮点击触发一次),addTouchEventListener(按钮点击 抬起 移动 取消状态触发事件)
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;
        }
    }




你可能感兴趣的:(学习笔记入门基础)