Cocos Creator中按鈕元件陣列的使用

2021-09-04 16:13:20 字數 1280 閱讀 7338

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

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

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

**( zxzlevelselect.js)如下:

cc.class(

},touchbutton(event, customeventdata)

break;

case 'btnback':

break;

}// switch(customeventdata)

// break;

// case '1':

//

// break;

// }

}});

**中請注意如下幾點:

1,函式touchbutton(event, customeventdata)是我們定義按鈕的handler函式;

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

上述小場景檔名為zxzlevelselection.fire,我在層級管理的最上層canvas節點上關聯了上面的指令碼 zxzlevelselect.js,並繫結上面兩個按鈕元件,如下圖所示:

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

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

cocos creator中的MVC設計模式

在遊戲開發的行業中摸爬滾打走了很多路,在這裡將我的經驗分享給大家。無論是unity或者是cocos,白鷺 在遊戲的設計框架中大多數程式設計師還是遵循mvc來開發的。今天的涉及就是mvc模式,我以creator typesprite講解。首先為什麼用mvc,好處又是什麼呢?mvc無人不知,可很多程式設...

cocos creator 十二 問題

1 socket為什麼不能使用 2 cocos類之攝像機使用問題 1 在使用socket為什麼不能使用 if cc.sys.isnative opts this sio window.io connect this.ip opts this sio.on connect function data ...

cocos creator模組簡介

專案 專案設定 選擇將在構建發布時要打包進引擎的模組 模組如下 core 必選 canvas 必選,畫布 sprite 必選,精靈 label 文字控制項 mask 遮罩控制項 ccspritedistortion 扭曲效果元件,用於改變 型別sprite的渲染,只有當sprite元件已經新增後,才...