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

前端之家收集整理的这篇文章主要介绍了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)<p class="p1">
</p>        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(按钮点击 抬起 移动 取消状态触发事件)
<pre name="code" class="javascript">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;
        }
    }

猜你在找的Cocos2d-x相关文章