日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Cocos Creator中按钮组件数组的使用

發布時間:2025/7/14 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Cocos Creator中按钮组件数组的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Cocos Creator游戲開發中經常使用到按鈕,特別是大量按鈕的情況,此時使用數組來管理這些按鈕就顯得更具通用性。我大致走了一下官方的示例,好像沒有發現有這個小內容(或者有,但我卻是沒有找到),于是補充此內容如下。

典型問題預覽

如下圖展示的界面(圖中是我一個小拙例的截圖,尚未成熟,等稍后感覺可以分享后再公開):

注意到,層級管理上,我使用了一個父節點controlRoot包容了兩個按鈕節點(實際中可能有許多按鈕)。

創建操作腳本組件

代碼( zxzLevelSelect.js)如下:

cc.Class({extends: cc.Component,properties: {but: {default: [], type: [cc.Button], // type 同樣寫成數組,提高代碼可讀性}},touchButton(event, customEventData){var node = event.target;switch(node.name){case 'btnStart':{cc.director.loadScene('zxzBallScene');}break;case 'btnBack':{cc.director.loadScene('zxzWelcome');}break;}// switch(customEventData){// // switch(button.name){// case '0':// {// cc.director.loadScene('zxzBallScene');// }// break;// case '1':// {// cc.director.loadScene('zxzWelcome');// }// break;// }} });

代碼中請注意如下幾點:
1,函數touchButton(event, customEventData)是我們定義按鈕的handler函數;
2,在此函數中,我們至少可以使用如上所示的兩種方式在區別各個按鈕,第一種方式是event.target.name(event.target對應相應的按鈕組件),而name值正是我們在層次管理器中看到的按鈕的名字;第二種方式是借助于handler函數中的第二個參數customEventData,在場景設計中我分別把這兩個按鈕的customEventData值設置為0和1(當然你可以根據需要設置為字符串等更為直觀的名字)。注意到代碼的后半部分使用了注釋,其中正是第二種區分按鈕的方式。

關聯腳本組件及設置按鈕handler函數

上述小場景文件名為zxzLevelSelection.fire,我在層級管理的最上層Canvas節點上關聯了上面的腳本 zxzLevelSelect.js,并綁定上面兩個按鈕組件,如下圖所示:

然后,依次選擇兩個按鈕組件,各自關聯上對應的handler函數,如下圖所示(僅給出一個即可):


請注意:無論多少個按鈕,都要按照上述思路進行關聯才行。

小結

本文給出Cocos Creator編程中按鈕組件數組的使用補充,不足處請各位提醒,非常感謝。

總結

以上是生活随笔為你收集整理的Cocos Creator中按钮组件数组的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。