亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

集安市| 宝清县| 平顺县| 博白县| 清涧县| 木兰县| 诸暨市| 台南市| 通海县| 大渡口区| 奉节县| 调兵山市| 汶川县| 芜湖县| 剑河县| 平遥县| 莆田市| 盐津县| 体育| 新宾| 土默特右旗| 利川市| 临高县| 托克逊县| 凤山县| 固镇县| 墨玉县| 镇康县| 潜江市| 衢州市| 泽普县| 岐山县| 耒阳市| 芜湖市| 集贤县| 桑植县| 怀来县| 永顺县| 阜康市| 双辽市| 綦江县|