加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 16:42:20 所属栏目:百科 来源:网络整理
导读:之前工作的时候一直使用的是lua脚本语言,最近刚刚接触cocos-JS发现要踩的坑还有很多,再次将我踩过的一些坑写出来。转入正题 在cocosjs中创建一个button(按钮)大体可以分为3种方法。 1.创建一个Menu。 2.使用cocostudio编辑器编辑ui界面导入到工程中通过g

之前工作的时候一直使用的是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;
        }
    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读