發(fā)布時(shí)間:2023-11-29 16:05:18 瀏覽量:102次
上篇簡(jiǎn)單介紹了Cocos2d-x的元素,包括導(dǎo)演、節(jié)點(diǎn)、場(chǎng)景、圖層、精靈等,今天開(kāi)始進(jìn)入Cocos2d-x的基礎(chǔ)學(xué)習(xí),著重介紹Cocos2d-x中UI系統(tǒng)的基礎(chǔ),包括顯示文字、圖案、菜單等內(nèi)容。Cocos2d-x UI系統(tǒng)自帶的UI組件包括了標(biāo)簽Label、菜單Menu等,與其他開(kāi)發(fā)框架不同,Cocos2d-x提供的UI種類(lèi)并不多,主要依靠開(kāi)發(fā)者自行組合創(chuàng)造自己需要的控件,這就需要開(kāi)發(fā)者必須深刻掌握各種控件的特點(diǎn),才能夠做到靈活運(yùn)用。
在Cocos2d-x中要顯示文字就需要用到Label控件。
auto label1 = Label::create("hello world!","Arial",36,Size::ZERO,TextHAlignment::LEFT,TextVAlignment::TOP); label1->setPosition(200,300); this->addChild(label1); //使用系統(tǒng)自帶字體 TTFconfig ttfconfig("fonts/arial.ttf",26); auto label2 = Label::createWithTTF(ttfconfig,"hello world!"); label2->setPosition(200,250); //設(shè)置陰影 label2->enableShdow(Color4B::GREEN,Size(5,5)); //設(shè)置邊框 label2->enableOutline(Color4B::RED,3); this->addChild(label2);
Cocos2d-x中顯示圖像是通過(guò)精靈類(lèi)顯示的。在Cocos2d-x中游戲的每一個(gè)角色、怪物、道具都可以理解成是一個(gè)精靈,游戲背景是一種特殊的精靈。
//獲取屏幕尺寸 Size size = Director::getInstance()->getVisibleSize(); //創(chuàng)建背景圖像 auto* background = Sprite::create("background.jpg"); //圖像居中顯示 background->setPosition(size.width/2,size.height/2); //背景圖片縮小尺寸 background->setScale(0.7f); this->addChild(background);
按鈕菜單在游戲中經(jīng)常使用,Cocos2d-x中按鈕菜單通過(guò)圖片創(chuàng)建后,添加回調(diào)事件。
//button1正常狀態(tài)按鈕,button2按鈕被按下后狀態(tài),MenuSelector回調(diào)事件 auto* button = MenuItemImage::create("button1.png","button2.png",this,menu_selector(HelloWorld::MenuSelector)); void HelloWorld::MenuSelector(){ CCLOG("button1被按下了!"); }
Cocos2d-x中提供了5中屏幕適配方案,分別是:EXACT_FIT、SHOW_ALL、FIXED_HEIGHT、FIXED_WIDTH、NO_BORDER。而Cocos2d-x中經(jīng)常使用的有兩種,一種為SHOW_ALL,一種為NO_BORDER,下面主要介紹這兩種:
SHOW_ALL犧牲一部分屏幕面積,解決游戲畫(huà)面根據(jù)屏幕尺寸自動(dòng)放大縮小,保證顯示區(qū)域的寬高比,使游戲更容易設(shè)計(jì)。
NO_BORDER則采用了相反的思想,保證寬高比的前提下?tīng)奚徊糠挚墒敲娣e來(lái)達(dá)到最大利用屏幕可視區(qū)域的目的。
Cocos2d-x中音樂(lè)的播放也可以理解為一種顯示方式。
#include "SimpleAudioEngine.h" USING_NS_CC; using namespace CocosDenshion; bool HelloWorld::init(){ if(!Layer::init()){ return false; } //向屏幕添加內(nèi)容 is_paused = false; //播放按鈕 auto* lable_play = Label::create("play","Arial",40); auto* pLabel_play = MenuItemLabel::create(lable_play,this,menu_selector(HelloWorld::play)); auto* button_play = Mune::create(pLabel_play,NULL); button_play->setPosition(200,150); this->addChild(button_play); return true; } void HelloWorld::play(Cocos2d::Object* pSender){ if(is_paused){ SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic(); } else{ SimpleAudioEngine::sharedEngine()->playBackgroundMusic("music.mp3"); } is_paused = false; }
今天小編先講這么多,大家有興趣的可以先下載Cocos2d-x引擎,自己搭建環(huán)境,跑起來(lái)試試,后面小編會(huì)帶著大家往下一步一步深入,如果有興趣的同學(xué),可以關(guān)注小編,持續(xù)學(xué)習(xí),有了cocos2d-x這款神器,游戲開(kāi)發(fā)不再是夢(mèng)。
熱門(mén)資訊
探討游戲引擎的文章,介紹了10款游戲引擎及其代表作品,涵蓋了RAGE Engine、Naughty Dog Game Engine、The Dead Engine、Cry Engine、Avalanche Engine、Anvil Engine、IW Engine、Frostbite Engine、Creation引擎、Unreal Engine等引擎。借此分析引出了游戲設(shè)計(jì)領(lǐng)域和數(shù)字藝術(shù)教育的重要性,歡迎點(diǎn)擊咨詢(xún)報(bào)名。
2. 手機(jī)游戲如何開(kāi)發(fā)(如何制作傳奇手游,都需要準(zhǔn)備些什么?)
?如何制作傳奇手游,都需要準(zhǔn)備些什么?提到傳奇手游相信大家都不陌生,他是許多80、90后的回憶;從起初的端游到現(xiàn)在的手游,說(shuō)明時(shí)代在進(jìn)步游戲在更新,更趨于方便化移動(dòng)化。而如果我們想要制作一款傳奇手游的
3. B站視頻剪輯軟件「必剪」:免費(fèi)、炫酷特效,小白必備工具
B站視頻剪輯軟件「必剪」,完全免費(fèi)、一鍵制作炫酷特效,適合新手小白??靵?lái)試試!
4. Steam值得入手的武俠游戲盤(pán)點(diǎn),各具特色的快意江湖
游戲中玩家將面臨武俠人生的掙扎抉擇,戰(zhàn)或降?殺或放?每個(gè)抉定都將觸發(fā)更多愛(ài)恨糾葛的精彩奇遇?!短烀嬗肪哂卸嗑€(xiàn)劇情多結(jié)局,不限主線(xiàn)發(fā)展,高自由...
5. Bigtime加密游戲經(jīng)濟(jì)體系揭秘,不同玩家角色的經(jīng)濟(jì)活動(dòng)
Bigtime加密游戲經(jīng)濟(jì)模型分析,探討游戲經(jīng)濟(jì)特點(diǎn),幫助玩家更全面了解這款GameFi產(chǎn)品。
6. 3D動(dòng)畫(huà)軟件你知道幾個(gè)?3ds Max、Blender、Maya、Houdini大比拼
當(dāng)提到3D動(dòng)畫(huà)軟件或動(dòng)畫(huà)工具時(shí),指的是數(shù)字內(nèi)容創(chuàng)建工具。它是用于造型、建模以及繪制3D美術(shù)動(dòng)畫(huà)的軟件程序。但是,在3D動(dòng)畫(huà)軟件中還包含了其他類(lèi)型的...
7. 3D動(dòng)漫建模全過(guò)程,不是一般人能學(xué)的會(huì)的,會(huì)的多不是人?
步驟01:面部,頸部,身體在一起這次我不準(zhǔn)備設(shè)計(jì)圖片,我從雕刻進(jìn)入。這一次,它將是一種純粹關(guān)注建模而非整體繪畫(huà)的形式。像往常一樣,我從Sphere創(chuàng)建它...
8. 如何自己開(kāi)發(fā)一款游戲(游戲開(kāi)發(fā)入門(mén)必看:五大獨(dú)立游戲開(kāi)發(fā)技巧)
?游戲開(kāi)發(fā)入門(mén)必看:五大獨(dú)立游戲開(kāi)發(fā)技巧無(wú)論您是剛剛起步開(kāi)發(fā)自己的第一款游戲,還是已經(jīng)制作了幾款游戲,本篇文章中的5大獨(dú)立游戲開(kāi)發(fā)技巧都可以幫助您更好地設(shè)計(jì)下一款游戲。無(wú)論你對(duì)游戲有著什么樣的概念,都
9. 開(kāi)發(fā)三昧游戲叫什么(三昧動(dòng)漫)
?三昧動(dòng)漫對(duì)于著名ARPG游戲《巫師》系列,最近CD Projekt 的高層回應(yīng)并不會(huì)推出《巫師4》。因?yàn)椤段讕煛废盗性诓邉澋臅r(shí)候一直定位在“三部曲”的故事框架,所以在游戲的出品上不可能出現(xiàn)《巫師4》
10. 3D打印技巧揭秘!Cura設(shè)置讓你的模型更堅(jiān)固
想讓你的3D打印模型更堅(jiān)固?不妨嘗試一下Cura參數(shù)設(shè)置和設(shè)計(jì)技巧,讓你輕松掌握!
最新文章
同學(xué)您好!