亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Scene,Director, Layer 和 Sprite

發布時間:2020-07-19 07:23:20 來源:網絡 閱讀:884 作者:imik 欄目:游戲開發

  Scene:
       在應用程序中,scene是相對獨立的一塊,在很多其他的引擎中,也把它稱之為“畫布”或者“舞臺”。
       在cocos2d-x中,一個應用可以有多個scene,但任何時刻只能有一個是acitve的。一個CCScene由多個CCNode組成,一般是包含若干個CCLayer,而CCLayer又包含多個CCSprite。需要注意的是,CCScene,CCLayer和CCSprite都繼承了CCNode,只不過后者還有其他的父類,使用多繼承進行實現。可以得知cocos2d-x的可視化數據組織就是一棵場景樹,只不過其中的有些中間節點被賦予了額外的邏輯(比如CCScene和CClayer)
       由于Scene是CCNode的子類,所以可以進行手動或者使用Actions進行變換。
       有一族特殊的scene叫CCTransitionScene,從CCScene派生而來,可以實現場景切換特效,比如褪色,翻頁等效果。
Director:

       Director是一個共享的單例對象,用來控制場景Scene之間的切換。Director知道當前Active的Scene。可以通過Director在場景棧的棧頂push一個新的scene來進行場景切換。將之前的Scene B壓棧,push Scene A,但并不從內存中銷毀Scene B。如果將棧頂Scene A彈出,則會切換到Scene B,而且狀態也恢復到之前壓棧的狀態。
      Director 還負責OpenGL ES 的初始化。
Layer:
        Layer是一種可以處理觸摸事件的CCNode,可以在代碼中看它除了額外繼承CCNode之外,還繼承了CCTouchDelegate。CCLayer知道如何繪制自己,并且可以半透,讓玩家看到其他的Layer。CCLayer在定義游戲的外觀和行為時非常有用,所以你應該花大量的編碼時間來開發自己所需要的CCLayer子類。
        CCLayer可以在ccTouchBegan, ccTouchMoved, ccTouchEnded和ccTouchCancelled中處理相應的事件,而且在場景中的所有Layer都會收到這些事件,直到某個Layer處理了為止。
         除了可以開發自己所需要的CCLayer子類之外,cocos2d-x還提供了幾種實現好的Layer,比如CCMenu,CCColorLayer和CCLayerMultiplex等。
         CCLayer可以包含任何CCNode的子類,包括CCSprite,CCLabels乃至其他的CCLayer子類。CCLayer也可以手動或者使用Actions進行變換。 
         以下是使用一種漸變Layer的示例:

CCLayerGradient* layer1 = CCLayerGradient::create(ccc4(25500255), ccc4(2550255255));

 2 layer1->setContentSize(CCSizeMake(8080)); 

3 layer1->setPosition(ccp(50,50)); 

4 addChild(layer1); 

CCLayerGradient* layer2 = CCLayerGradient::create(ccc4(000127), ccc4(255255255127)); 

7 layer2->setContentSize(CCSizeMake(80,80)); 

8 layer2->setPosition(ccp(100,90)); 

9 addChild(layer2);

10

11 CCLayerGradient* layer3 =CCLayerGradient::create();

12 layer3->setContentSize(CCSizeMake(8080));

13 layer3->setPosition(ccp(150,140));

14layer3->setStartColor(ccc3(25500));

15 layer3->setEndColor(ccc3(2550255));

16 layer3->setStartOpacity(255);

17layer3->setEndOpacity(255);

18 ccBlendFunc blend;

19 blend.src = GL_SRC_ALPHA;

20 blend.dst = GL_ONE_MINUS_SRC_ALPHA;

21 layer3->setBlendFunc(blend);

22 addChild(layer3);

Sprite:

          Sprite的概念和其他的2D引擎是差不多的,就是一個2D的圖像,可以旋轉平移縮放。
          Sprite可以包含其他的Sprite作為子節點,當父節點被變換時,子節點會一起被變換。
          Sprite可以手動或者使用Actions進行變換。
 希望能為需要的朋友解決問題,
如果還不能解決可以聯系QQ897703027,email: hongjiandao@163.com
歡迎大家交流cocos2d-x,C++等各方面的知識,或者創業團隊求收留,本人目前在做cocos2dx網游
 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

郑州市| 铜川市| 达拉特旗| 砀山县| 延川县| 广平县| 义乌市| 大丰市| 临汾市| 和静县| 黔西县| 乐平市| 阳原县| 东平县| 博湖县| 宁夏| 甘肃省| 桐柏县| 万州区| 天峻县| 包头市| 曲阳县| 嘉义县| 图木舒克市| 吴桥县| 鸡泽县| 宁强县| 汕尾市| 星子县| 东宁县| 河北省| 启东市| 叙永县| 汶川县| 清新县| 田林县| 南康市| 墨竹工卡县| 龙川县| 中宁县| 梁平县|