cocos creator 基础一文通(七)--button

566 阅读2分钟

一. button按钮组件

1.添加按钮的方法
①. 直接创建button组件
②. 组件上创建button组件

二. button按钮属性

其中,transition 属性有一下集中模式
  • None : 无
  • COLOR: 颜色变换
  • SPRITE: 精灵贴图变换
  • SCALE: 大小变换
其中:
①. 颜色变换 和 贴图变换类似 都有 按下 悬停 禁用 状态,只不过一个变换颜色一个变换贴图
duration 是变换动画过渡时长
②. 大小变换 只有过渡和大小 两个属性

三. 按钮响应事件

调用时,找: 节点→脚本组件→代码函数
//注意:为大小为0的节点挂载button组件会挂载失败!!!!(小心,空节点挂事件易错)
1.添加响应事件接口
2. 选择节点(响应事件脚本挂载那个节点上就选哪个)
3. 然后就能在节点上找到脚本,在脚本中找到对应的写好的响应函数
4. 设置传递信息(字符串) //可能好多按钮调这个响应函数,所以传递一个信息来区别和沟通
5. 程序里接收按钮事件和传递信息

四. cc.Button类型

五. 代码中使用cc.Button
1. 获取button
①.设置进属性面板
②.通过查找子节点,再获取组件
2. 代码添加button组件 再添加响应函数
添加组件addComponent即可
加入响应函数:实际上是往 Button对象的 clickEvents 属性(实际为一个列表,里面元素为Component.EventHandler类型)中添加元素
        //添加button组件
        this.get_a_button3=this.node.getChildByName("red_button").addComponent(cc.Button);
        //创建EventHandler类对象
        var eventHandler = new cc.Component.EventHandler();
        eventHandler.target = this.node; //节点
        eventHandler.component = "game_scence1";
        eventHandler.handler = "on_red_button_click";
        eventHandler.customEventData = "haha red!777777";
        // 把EventHandler类实例对象加入clickEvent列表中;
        this.get_a_button3.clickEvents.push(eventHandler);
        // 或者可以写:this.get_a_button3.clickEvents=[eventHandler] 如果后续有其他事件再往里面加
3. 代码触发按钮事件
emit触发
        this.scheduleOnce(function(){
            var click_events=this.get_a_button3.clickEvents;
            for(var i=0;i<click_events.length;i++){      //因为不知道按钮有几个事件,所以遍历了一下
                var component_handle=click_events[i];
                component_handle.emit(["","red_button7777"]);
            }
        },3);
        //如果能得到具体的eventHandler 也可以直接发射.
        eventHandler.emit(["","lolololo7777"]);

六. Component.EventHandler 类型

创建该类型实例