一、cocos2dx概念简介
本文由qinning199原創,轉載請注明出處:http://www.cocos2dx.net/?p=5
1)scene,繼承自CCScene
場景,一個游戲運行期間的顯示界面,一個應用里面可以有多個場景,但是每次只能有一個是激活狀態,也可以理解為一次只能顯示一個界面。
例如,你的游戲有如下的界面:介紹,菜單,等級場景,勝利場景,失敗場景,高分界面。如此多的界面組成了整個游戲,如下圖所示是一個場景流程圖。
一個CCScene是由一個或者多個CCNode組成,可以將CCNode添加到scene中。CCNode的子類,比如CCLayer和CCSprite,能夠給場景提供外觀和行為。
因為場景是CCNode的一個子類,所以可以通過CCActions制作一些動畫。
2)Director
CCDirector是一個控制器,控制不同場景之間的切換,本身是一個單例。它知道現在哪個場景是活動的并且允許你通過替換當前的場景或者把一個新的場景放到場景棧中來改變場景。當你把一個新場景放到場景棧里,CCDirector暫停之前的場景,并且把它保存在內存里,然后顯示新場景。一會之后,如果你把場景棧頂端的場景pop出之后,之前的場景將會恢復其最后的狀態并顯示出來。
CCDirector也負責初始化OpenGL ES。
3)Layers
CCLayer是一個知道如何處理接觸操作的CCNode。Layers知道如何繪制并且可能是半透明的,玩家能夠看到這些Layer之后的東西。CCLayers在定義游戲的界面和動作是非常重要的,所有在開發中你需要花費大多數時間去寫一些CCLayer的子類來實現你想要的。
?
CCLayer可以定義觸摸回調,通過繼承一些方法可以處理觸摸事件(ccTouchBegan,ccTouchMoved,ccTouchEnded或者ccTouchCancelled)。一個CClayer能夠跟用戶進行互動。這些觸摸事件能夠在一個場景中的所有Layer中一層層傳遞下去,直到某個Layer獲取他們并且能夠處理事件,則停止傳遞。
復雜的應用需要你去自定義一些CCLayer的子類,cocos2d提供了幾個預定義的layers。比如CCMenu(一個簡單的菜單層),CCColorLayer(一個可以繪制實體顏色的層),CCLayerGradient (一個可以繪制漸變顏色的層),CCLayerMultiplex(一個可以處理多個復雜子層的Layer,能夠一次激活一個子層,并且與此同時disable其他的層)
Layers可能包含CCNode作為子層,包括CCSprites,CCLabels,并且甚至其他的CCLayer對象。
多層的例子如下:
?
CCLayerGradient* layer1 = CCLayerGradient::create(ccc4(255, 0, 0, 255), ccc4(255, 0, 255, 255));layer1->setContentSize(CCSizeMake(80, 80));layer1->setPosition(ccp(50,50));addChild(layer1);CCLayerGradient* layer2 = CCLayerGradient::create(ccc4(0, 0, 0, 127), ccc4(255, 255, 255, 127));layer2->setContentSize(CCSizeMake(80, 80));layer2->setPosition(ccp(100,90));addChild(layer2);CCLayerGradient* layer3 = CCLayerGradient::create();layer3->setContentSize(CCSizeMake(80, 80));layer3->setPosition(ccp(150,140));layer3->setStartColor(ccc3(255, 0, 0));layer3->setEndColor(ccc3(255, 0, 255));layer3->setStartOpacity(255);layer3->setEndOpacity(255);ccBlendFunc blend;blend.src = GL_SRC_ALPHA;blend.dst = GL_ONE_MINUS_SRC_ALPHA;layer3->setBlendFunc(blend);addChild(layer3);4)Sprites精靈
一個cocos2d CCSprite是一個2D的并且能夠移動,旋轉,縮放,實現動畫的圖片元素,
一個CCSprite可以有其他的CCSprite作為子元素。當父節點被轉換,所有的它的子元素也會對應的轉換。
?
轉載于:https://www.cnblogs.com/qinning199/p/3313736.html
總結
以上是生活随笔為你收集整理的一、cocos2dx概念简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: shell中使用echo命令改变输出显示
- 下一篇: 如何获取版本的 Internet 信息服