cocoscreator 第八章 cc.Button使用

cc.Button

1:添加按钮的方法     (1)直接创建带Button组件的节点;  

                                 (2) 先创建节点,再添加组件;

2:按钮组件, 按钮是游戏中最常用的组件, 点击然后响应事件;

3: 按钮的过渡效果:     过渡: 普通状态, 鼠标滑动到物体上, 按下状态, 禁用状态  

                                 (1)没有过渡,只有响应事件;    

                                 (2)颜色过渡, 过渡效果中使用颜色;  

                                 (3)精灵过渡,使用图片过渡;  

                                 (4)缩放过渡, 选项,在disable的时候是否置灰;

4: 按钮禁用;

5: 按钮添加响应事件 --> 节点-->组件 --> 代码的函数;

6: 按钮传递自定义参数; ---> 字符串对象;

7: Button响应这个触摸点击,所以Button所挂的这个节点,一定要有大小,如果你向大小(0, 0)的节点上,挂一个Button,这个是无法响应点击事件;

代码使用cc.Button

1: 代码添加/获取cc.Button组件;

2: 代码里面添加按钮的响应事件;

3: 代码触发按钮指定的回掉函数;

4: Component.EventHandler                    

              var eventHandler = new cc.Component.EventHandler();    

              eventHandler.target = newTarget;    

              eventHandler.component = "MainMenu";    

              eventHandler.handler = "OnClick";        

              eventHandler.customEventData = "my data";  

              eventHandler.emit(["param1", "param2", ....]);

 

///

// use this for initialization
onLoad: function () {
    // 获取button组件
    this.start_button = this.node.getChildByName("ks_up").getComponent(cc.Button); 


    // 添加button组件
    this.red_button = this.node.getChildByName("red_button").addComponent(cc.Button);
    // 添加一个响应函数
    var click_event = new cc.Component.EventHandler();
    click_event.target = this.node;
    click_event.component = "game_scene";
    click_event.handler = "on_red_button_click";
    click_event.customEventData = "red_button_data_77777";
    // this.red_button.clickEvents = [click_event];
    this.red_button.clickEvents.push(click_event);
    // end 

    // 代码触发按钮的响应事件,而不用自己去触摸
    this.scheduleOnce(function() {
        var click_events = this.red_button.clickEvents;
        for(var i = 0; i < click_events.length; i ++) {
            var comp_env_handle = click_events[i];
            // 在代码里面触发按钮的响应函数
            comp_env_handle.emit(["", "red_button_data_77777"]);
        }
    }.bind(this), 3);
    // end 
},

on_red_button_click: function(e, custom) {
    console.log("on_red_button_click: ", custom);
},
// 关卡按钮1-10, 第几关
//  e 本次触摸的触摸事件
// customEventData is String;
on_button_click: function(e, level) {
    level = parseInt(level);
    console.log("on_button_click called:", level);
},
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cocos Creator中,可以通过给按钮添加回调函数来实现按钮的点击事件。引用\[1\]中的代码展示了如何创建一个按钮预设,并给按钮添加点击事件的示例。首先,使用cc.instantiate方法创建一个按钮预设,然后将其添加到指定的父节点上。接下来,创建一个cc.Component.EventHandler实例,设置其目标节点为当前节点,脚本名称为"RoleViewCtrl",回调函数为"onRoleListBtnClick"。然后,获取按钮组件,并将刚刚创建的事件处理器添加到按钮的clickEvents数组中。 另一种常见的方式是在onLoad函数中添加按钮的点击事件回调。引用\[3\]中的代码展示了如何在onLoad函数中给按钮添加点击事件回调。首先,创建一个cc.Component.EventHandler实例,设置其目标节点为当前节点,脚本名称为"clear_button",回调函数为"callback"。然后,获取按钮组件,并将刚刚创建的事件处理器添加到按钮的clickEvents数组中。在回调函数中,可以通过event.target获取到按钮节点,通过customEventData参数获取到之前设置的自定义数据。 这两种方式都可以实现按钮的点击事件回调,具体选择哪种方式取决于开发者的需求和代码结构。 #### 引用[.reference_title] - *1* *2* [cocoscreator 预设Button用代码添加回调](https://blog.csdn.net/Pan_mouren/article/details/86216916)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [cocos creator Button按钮组件怎么使用和按钮绑定事件](https://blog.csdn.net/qq_41542894/article/details/89383014)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值