cocos2d-x一些核心概念截殺

Cocos2d-x中有不少概念,這些概念不少來源於動畫、動漫和電影等行業,例如:導演、場景和層等概念,固然也有些有傳統的遊戲的概念。Cocos2d-x中核心概念:導演, 場景,層,節點,精靈,菜單動做,效果,粒子運動,地圖,物理引擎。html

下面咱們介紹導演、場景、層、精靈、菜單概念以及對應的類,因爲節點概念很重要咱們會在下面詳細介紹,而其餘的概念將在後面介紹。設計模式

導演

導演類Director(v3.0以前是CCDirector)用於管理場景對象,採用單例設計模式,在整個工程中只有一個實例對象。因爲是單例模式可以保存一致的配置信息,便於管理場景對象。得到導演類Director實例語句以下:動畫

[html] view plaincopy在CODE上查看代碼片派生到個人代碼片spa

  1. auto director = Director::getInstance();  .net

導演對象職責以下:訪問和改變場景,訪問Cocos2d-x的配置信息,訪問視圖對象,暫停、繼續和中止遊戲,轉換座標。設計

Director類圖code


從類圖中還能夠看到它有一個子類是DisplayLinkDirector。orm

 

場景

場景類Scene(v3.0以前CCScene)是構成遊戲的界面,相似於電影中的場景。場景大體能夠分爲如下幾類:展現類場景。播放視頻或簡單的在圖像上輸出文字,來實現遊戲的開場介紹、勝利和失敗提示、幫助介紹,選項類場景,主菜單、設置遊戲參數等,遊戲場景。這是遊戲的主要內容。視頻

從類圖可見Scene繼承了Node類,Node是一個重要的類,不少類都從Node類派生而來,其中有Scene、Layer等。htm

 

層是咱們寫遊戲的重點,咱們大約 99%以上的時間是在層上實現咱們遊戲內容。層的管理相似於Photoshop中的圖層,它也是一層一層疊在一塊兒。下面是一個簡單的主菜單界面是由三個層疊加實現的。


爲了讓不一樣的層能夠組合產生統一的效果,這些層基本上都是透明或者半透明的。層的疊加是有順序的,如圖所示從上到下依次是:菜單層→精靈層→背景層。Cocos2d-x是按照這個次序來疊加界面的。這個次序一樣用於事件響應機制,即菜單層最早接收到系統事件,而後是精靈層,最後是背景層。在事件的傳遞過程當中,若是有一個層處理了該事件,則排在後面的層將再也不接收到該事件了。每一層又能夠包括不少各式各樣的內容要素:文本、連接、精靈、地圖等等內容。

下面是層類Layer的類圖。


精靈

精靈類Sprite(v3.0以前CCSprite)是遊戲中很是重要的概念,它包括了敵人、控制對象、靜態物體和背景等。 一般狀況它會進行運動,運動方式包括了:移動、旋轉、放大、縮小和動畫等。

下面是Sprite類圖,從圖中可見Sprite是Node派生類,Sprite包含不少類型,例如物理引擎精靈類PhysicsSprite也都屬於精靈。

 

菜單

菜單在遊戲在是很是重要的概念,它提供操做的集合,在Cocos2d-x中菜單類是Menu,從類圖可見Menu類派生於Layer。


在菜單中又包含了菜單項MenuItem,從圖中可見菜單項MenuItem有不少種形式的子類,如MenuItemLabel、MenuItemSprite和MenuItemToggle,它表現出不一樣的效果。每一個菜單項都有三個基本狀態:正常、選種和禁止。

相關文章
相關標籤/搜索