最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Cocos2d-x 3.x入門(mén)教程(一):基礎(chǔ)概念

 更新時(shí)間:2014年11月03日 10:19:57   作者:果凍想  
這篇文章主要介紹了Cocos2d-x 3.x入門(mén)教程(一):基礎(chǔ)概念,本文講解了Director、Scene、Layer、Sprite等內(nèi)容,需要的朋友可以參考下

前言

接觸游戲開(kāi)發(fā)時(shí)間不長(zhǎng),之前一直都是寫(xiě)Lua,寫(xiě)Lua肯定是沒(méi)有什么發(fā)展的啦,至少你要會(huì)寫(xiě)的。寫(xiě)客戶端,肯定要看看Cocos2d-x了。從今天起,正式開(kāi)始Cocos2d-X的學(xué)習(xí)之旅。

之前一直都是做C++開(kāi)發(fā)的,轉(zhuǎn)過(guò)來(lái)看Cocos2d-x,從語(yǔ)言上來(lái)說(shuō),沒(méi)有多少問(wèn)題。對(duì)于我來(lái)說(shuō),Cocos2d-x就是一個(gè)類庫(kù),就類似于MFC、ATL和QT一樣,就是一個(gè)游戲類庫(kù),而我就按照學(xué)習(xí)類庫(kù)使用的方法去學(xué)習(xí)Cocos2d-x。這篇文章叫基礎(chǔ)概念,但是還是從整體來(lái)說(shuō)說(shuō)Cocos2d-x這個(gè)類庫(kù)的。

基礎(chǔ)架構(gòu)

在Cocos2d-x中,主要的概念包括Director、Scene、Layer和Sprite這幾個(gè)重要的概念,它們之間的關(guān)系如下。

這幅結(jié)構(gòu)圖是非常重要的,在以后的開(kāi)發(fā)過(guò)程中,基本也就是基于這個(gè)結(jié)構(gòu)圖來(lái)理清項(xiàng)目結(jié)構(gòu)了。Cocos2d-x就是這樣的管理著不同的對(duì)象,然后組成一個(gè)個(gè)完美的、月流水上億的項(xiàng)目,有些事情就是這樣。

Director(導(dǎo)演)

Director控制著整個(gè)游戲,會(huì)經(jīng)常進(jìn)行一些調(diào)度控制;在Cocos2d-x 3.x中,Director使用的是單例模式,在整個(gè)游戲運(yùn)行期間,它就只有一個(gè)實(shí)例。Director是整個(gè)Cocos2d-x 3.x的核心,是整個(gè)游戲的導(dǎo)航儀,在游戲中,一般由Director來(lái)完成以下操作的控制:

1.OpenGL ES的初始化;
2.場(chǎng)景的轉(zhuǎn)換;
3.游戲的暫停、繼續(xù)的控制;
4.世界坐標(biāo)和GL坐標(biāo)之間的切換;
5.對(duì)節(jié)點(diǎn)的控制;
6.保存和調(diào)用保存的游戲數(shù)據(jù);
7.屏幕尺寸的獲取,等等。

Scene(場(chǎng)景)

Scene場(chǎng)景是Cocos2d-x 3.x中必不可少的元素,游戲中我們需要構(gòu)建不同的場(chǎng)景(至少一個(gè)),游戲里關(guān)卡、板塊的切換就是一個(gè)個(gè)場(chǎng)景之間的切換。場(chǎng)景的一個(gè)重要的作用就是流程控制的作用,我們可以通過(guò)Director的一系列方法控制游戲中不同的場(chǎng)景的自由切換。同時(shí)場(chǎng)景是層的容器,包含了所有需要顯示的游戲元素。通常,當(dāng)我們需要完成一個(gè)場(chǎng)景的時(shí)候,會(huì)創(chuàng)建一個(gè)Scene的子類,并在子類中實(shí)現(xiàn)我們需要的功能。比如:我們可以在子類的初始化中載入游戲資源,為場(chǎng)景添加層,啟動(dòng)音樂(lè)播放等等。

Layer(層)

Layer是處理玩家事件響應(yīng)的Node子類。與場(chǎng)景不同,層通常包含的是直接在屏幕上呈現(xiàn)的內(nèi)容,并且可以接受用戶的輸入事件,包括觸摸、鍵盤(pán)輸入等。我們需要在層中加入Sprite(精靈)、文本標(biāo)簽或者其它游戲元素,并設(shè)置游戲元素的屬性,比如位置、方向和大?。辉O(shè)置游戲元素的動(dòng)作等。在我們?cè)O(shè)計(jì)好層以后,只需要把層按照順序添加到場(chǎng)景中就可以顯示出來(lái)了。

Sprite(精靈)

Cocos2d-x 3.x中的精靈和其它游戲引擎中的精靈是類似的,它可以移動(dòng)、旋轉(zhuǎn)、縮放、執(zhí)行動(dòng)畫(huà),并接受其它轉(zhuǎn)換。Cocos2d-x 3.x中的Sprite由Texure、Frame和Animation組成,由OpenGL ES負(fù)責(zé)渲染。在后續(xù)的學(xué)習(xí)過(guò)程中,我還會(huì)繼續(xù)總結(jié)關(guān)于Sprite的各種知識(shí)。

總結(jié)

這篇文章只是學(xué)習(xí)Cocos2d-x 3.x的開(kāi)始,我并沒(méi)有貼上任何的代碼,作為新手來(lái)說(shuō),貼再多的代碼也是徒勞,看不懂啊。所以,還是先整體了解一下Cocos2d-x的整體結(jié)構(gòu),這樣,在日后的學(xué)習(xí)中,思路會(huì)更清晰一些。無(wú)論如何,請(qǐng)記住基礎(chǔ)架構(gòu)那一節(jié)中的樹(shù)形結(jié)構(gòu)圖。

Cocos2d-x學(xué)習(xí)的入門(mén)門(mén)檻很低,以至于誰(shuí)都可以進(jìn)入Cocos2d-x開(kāi)發(fā)的世界,如何在眾多開(kāi)發(fā)者中保證自己的優(yōu)勢(shì),在后續(xù)的學(xué)習(xí)過(guò)程中,我們不僅要會(huì)用Cocos2d-x干活,同時(shí)也要知道Cocos2d-x是怎么干的活。

知其然,也要知其所以然。

相關(guān)文章

  • 深入理解C語(yǔ)言指針及占據(jù)內(nèi)存空間

    深入理解C語(yǔ)言指針及占據(jù)內(nèi)存空間

    這篇文章主要介紹了C語(yǔ)言指針及占據(jù)內(nèi)存空間的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • C++控制臺(tái)繪圖頭文件實(shí)例代碼

    C++控制臺(tái)繪圖頭文件實(shí)例代碼

    控制臺(tái)(console)是電腦的最基本交互接口,通常包括鍵盤(pán)(keyboard)和屏幕(screen),下面這篇文章主要給大家介紹了關(guān)于C++控制臺(tái)繪圖頭文件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • Java3D實(shí)例之創(chuàng)建空間幾何模型的實(shí)現(xiàn)方法

    Java3D實(shí)例之創(chuàng)建空間幾何模型的實(shí)現(xiàn)方法

    本篇文章是對(duì)Java3D 創(chuàng)建空間幾何模型的實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的介紹。需要的朋友參考下
    2013-05-05
  • 詳解C++函數(shù)模板與分離編譯模式

    詳解C++函數(shù)模板與分離編譯模式

    這篇文章主要介紹了詳解C++函數(shù)模板與分離編譯模式的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)c++,感興趣的朋友可以了解下
    2020-08-08
  • C++設(shè)置事件通知線程工作的方法

    C++設(shè)置事件通知線程工作的方法

    這篇文章主要介紹了C++設(shè)置事件通知線程工作的方法,是Windows應(yīng)用程序設(shè)計(jì)中非常實(shí)用的技巧,需要的朋友可以參考下
    2014-10-10
  • C語(yǔ)言實(shí)現(xiàn)代碼雨效果

    C語(yǔ)言實(shí)現(xiàn)代碼雨效果

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)代碼雨效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • QT設(shè)置widget背景圖片不影響widget內(nèi)其他控件背景的方法

    QT設(shè)置widget背景圖片不影響widget內(nèi)其他控件背景的方法

    這篇文章主要給大家介紹了關(guān)于QT設(shè)置widget背景圖片不影響widget內(nèi)其他控件背景的方法,軟件的界面為了更直觀或美觀,常常需要通過(guò)圖片來(lái)表達(dá),需要的朋友可以參考下
    2023-06-06
  • C++中引用的相關(guān)知識(shí)點(diǎn)小結(jié)

    C++中引用的相關(guān)知識(shí)點(diǎn)小結(jié)

    引用是C++一個(gè)很重要的特性,顧名思義是某一個(gè)變量或?qū)ο蟮膭e名,對(duì)引用的操作與對(duì)其所綁定的變量或?qū)ο蟮牟僮魍耆葍r(jià),這篇文章主要給大家總結(jié)介紹了C++中引用的相關(guān)知識(shí)點(diǎn),需要的朋友可以參考下
    2022-03-03
  • 使用C語(yǔ)言實(shí)現(xiàn)內(nèi)存池的示例代碼

    使用C語(yǔ)言實(shí)現(xiàn)內(nèi)存池的示例代碼

    所謂內(nèi)存池,顧名思義和線程池的設(shè)計(jì)原理是一樣的,為了減少頻繁申請(qǐng)釋放內(nèi)存而帶來(lái)的資源消耗,減少釋放內(nèi)存后產(chǎn)生的內(nèi)存碎片,下面我們就來(lái)看看如何使用C語(yǔ)言實(shí)現(xiàn)內(nèi)存池吧
    2024-02-02
  • C++實(shí)現(xiàn)LeetCode(91.解碼方法)

    C++實(shí)現(xiàn)LeetCode(91.解碼方法)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(91.解碼方法),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07

最新評(píng)論

定西市| 张家界市| 平邑县| 莎车县| 沾益县| 恩施市| 洛阳市| 霍林郭勒市| 北安市| 南城县| 唐河县| 平乐县| 东山县| 肥西县| 东乌珠穆沁旗| 麻江县| 丰原市| 资溪县| 浦北县| 子长县| 全州县| 海阳市| 仙游县| 涡阳县| 连山| 湘潭县| 五寨县| 儋州市| 丹江口市| 文安县| 嘉鱼县| 菏泽市| 长海县| 虞城县| 蒙山县| 视频| 蒙城县| 蓬安县| 武安市| 和龙市| 砚山县|