日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一、cocos2dx概念简介

發布時間:2025/3/20 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一、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概念简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。