天天看點

執行個體介紹Cocos2d-x精靈菜單和圖檔菜單

精靈菜單類menuitemsprite它的其中一個建立函數create定義如下

使用menuitemsprite比較麻煩在建立menuitemsprite之前要先建立三種狀态時候的精靈即normalsprite、selectedsprite和disabledsprite。menuitemsprite還有一些create函數在這些函數中可以省略disabledsprite參數。

如果精靈是由圖檔構成的我們可以使用圖檔菜單menuitemimage實作與精靈菜單同樣的效果。menuitemimage類的其中一個建立函數create定義如下

menuitemimage還有一些create函數在這些函數中可以省略disabledimage參數。

我們通過一個執行個體介紹一下精靈菜單和圖檔菜單的使用這個執行個體如下圖所示。

執行個體介紹Cocos2d-x精靈菜單和圖檔菜單

下面我們看看helloworldscene.cpp中init函數如下

在上面的代碼中第①②行是建立兩種不同狀态的精靈第③行代碼是建立精靈菜單menuitemsprite對象第④行代碼是設定開始菜單項startmenuitem位置注意這個坐标是(700,170)由于(700, 170)的坐标是ui坐标需要轉換為opengl坐标。

第⑤和⑦行代碼是建立圖檔菜單menuitemimage對象第⑥和⑧行代碼是設定圖檔菜機關置。第⑨行代碼是菜單menu對象第⑩行代碼是菜單的位置mu->setposition(point::zero)設定的位置是point::zero它等價于point(0.0f,0.0f)。

還有由于背景圖檔大小是1136 x 640而win32預設視窗大小是960 x 640我們需要重新設定大小修改appdelegate.cpp代碼如下

我們需要在第①行添加glview->setframesize(1136, 640)代碼。

上述代碼中的第①行定義的函數menuokcallback是在使用者在設定場景點選“ok”菜單時候回調。第②行代碼是使用popscene函數傳回helloworld場景。

更多内容請關注最新cocos圖書《cocos2d-x實戰 c++卷》

歡迎加入cocos2d-x技術讨論群257760386

《cocos2d-x實戰 c++卷》現已上線各大商店均已開售

《cocos2d-x實戰 c++卷》源碼及樣章下載下傳位址

歡迎關注智捷ios課堂微信公共平台

執行個體介紹Cocos2d-x精靈菜單和圖檔菜單

繼續閱讀