中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Cocos Creator開發中如何實現按鈕節點的事件

發布時間:2021-10-18 14:13:57 來源:億速云 閱讀:249 作者:小新 欄目:游戲開發

小編給大家分享一下Cocos Creator開發中如何實現按鈕節點的事件,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Cocos Creator基于Cocos2d-x(C++方案),提出全新的編程理念。Cocos Creator是以內容創作為核心的游戲開發工具,在Cocos2d-x基礎上實現了徹底腳本化(可以使用Javascript、Typescript或者Coffeescript)、組件化和數據驅動等特點。
但是,在事件處理機制上并不顯得簡單,至少是新手初學階段如此。

試驗目的

通過為按鈕組件設置一個點擊事件來實現在控制臺輸出一段文本。

試驗步驟

在場景中Canvas節點上添加一個UI節點Button并選擇此節點,注意到其事件有關屬性如圖所示:

Cocos Creator開發中如何實現按鈕節點的事件
也就是說,Click Events屬性是列表類型,默認為空,用戶添加的每一個事件由節點引用,組件名稱,一個響應函數及定制事件參數組件組成。
只有當我們把Click Events事件屬性列表結點個數修改成大于或者等于1時,對應的事件參數才顯示出來,各個參數含義如下:
Cocos Creator開發中如何實現按鈕節點的事件
圖形效果展示如下:

Cocos Creator開發中如何實現按鈕節點的事件
上圖是把Click Events事件屬性列表結點個數改成1的樣子。
接下來,上面幾個參數的填寫需要按照上面的解釋進行。

為此,我們需要專門寫一個相應的腳本,不妨命名為MyComponent.js(注意這里的文件名是區別大小寫的,因為它還代表組件的類名),內容如下。
cc.Class({
extends: cc.Component,
properties: {},

onLoad: function () {
    var clickEventHandler = new cc.Component.EventHandler();
    clickEventHandler.target = this.node; //這個node節點是你的事件處理代碼組件所屬的節點
    clickEventHandler.component = "MyComponent";//這個是代碼文件名
    clickEventHandler.handler = "callback";
    clickEventHandler.customEventData = "foobar";

    var button = this.node.getComponent(cc.Button);
    button.clickEvents.push(clickEventHandler);
},

callback: function (event, customEventData) {
    //這里 event 是一個 Touch Event 對象,你可以通過 event.target 取到事件的發送節點
    var node = event.target;
    var button = node.getComponent(cc.Button);
    //這里的 customEventData 參數就等于你之前設置的 "foobar"
    console.log("para is: ",customEventData);
}

});

保存上面的腳本后,通過點擊場景中按鈕節點對應“屬性檢查器”窗口中下部的“添加組件”按鈕為此按鈕節點添加一個“用戶腳本組件”并選擇上面剛剛創建的腳本。

然后,拖動層級管理器中的按鈕節點到按鈕事件屬性對應的第一個參數處,并以此為基礎,依次選擇第二個已經綁定到該按鈕節點上的腳本組件以及第三個回調參數(上面腳本中已經定義了,是callback)。結果如下所示:
Cocos Creator開發中如何實現按鈕節點的事件

以上是“Cocos Creator開發中如何實現按鈕節點的事件”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辽宁省| 濮阳市| 广汉市| 大荔县| 昌吉市| 香港| 交口县| 麦盖提县| 洛川县| 兴安盟| 富川| 巴彦县| 长葛市| 瑞丽市| 靖宇县| 绥德县| 射阳县| 讷河市| 丰城市| 郴州市| 阿图什市| 乌拉特中旗| 漠河县| 全南县| 黄梅县| 泰安市| 沛县| 南投市| 洛南县| 治县。| 讷河市| 包头市| 大新县| 苍梧县| 峡江县| 迁安市| 涪陵区| 响水县| 鄢陵县| 西安市| 汶上县|