iPhone游戲開發之Cocos2d基本概念
iPhone游戲開發之Cocos2d基本概念是本文要介紹的內容,這里主要是翻譯 cocos2d wiki 中的文檔,也參考了其他博文。主要是作為基礎知識作為這個系列的開始,來看詳細內容。
Scenes 場景
場景是被一個Scene 對象實現的,或多或少的,是一個獨立的程序流的一部分。一些人可把它稱作是screens屏幕,或者是stages舞臺。你的程序可以有很多場景,但是只有一個可以在給定的時間內的被激活的。
例如,你可能有一個游戲,它有如下的場景。
- Intro, Menu, Level 1, Cutscene 1, Level 2, Winning cutscene, losing cutscene, High scores screen
你可以定義他們中的任何一個作為獨立的應用,下面每一個場景之間通過一條線相連接,如圖:
一個cocos2d由一個或者多個層組成(層是用Layer對象實現的),他們堆在了一起。層給了場景一個展示和表現,最簡單的操作就是創建一個有層的場景概念。一些場景類的集合叫做transitions,是通過TransitionScene 對象來實現的,他允許你可以在兩個場景之間回滾。例如fade out/in,從一個面滑動的等。因為場景是CocosNode的子類,所以說他們可以通過手動或者使用actions的方式被改變。
Director 指導者
指導者可以是一個組件,他可以知道場景向前和向后。指導者是一個共享的,單件對象,他知道當前哪一個場景應該是active的,他可以處理棧里面的一系列場景,就像scene calls,暫停一個Scene和,把它存起來,然后其他場景進入,回退到開始。。當一個層需要去push,替換,或者是在當前場景的末尾,這個指導者是真正能夠改變場景的人。指導者同樣會對主屏幕的初始化負責。
Layers 層
Layer有整個屏幕這個大的可畫的區域,并且他知道怎么畫。它可以部分透明(有一個洞或者整個/全部之中的一般透明),允許看到它下面的其他層。層就是定義展示和表現的,所以你編程的更多時間是花在的層的子類上了,如圖:
你可以在層上定義事件的handlers,事件在層上從頭到尾的延伸,直到某個層捕捉到了事件,并且接受了它。雖然很多的程序需要你自己定義自定義的層類,cocos2d提供了一個非常好的預定義層的library。
例如簡單的menu 層使用Menu,一個color層,用ColorLayer,定義一個多層的Layer,等等。Layer可以包含Sprite對象,Label對象,甚至讓其他的Layer對象當作起事件。因為層也是CocosNode的子類,你可以通過手動或者使用Action使其改變。See Actions for more detail about actions.
Sprites 精靈
精靈的實現是通過Sprite類,他們可以有很多子精靈,當一個父精靈變化的時候,它的子精靈也將會改變。
因為精靈的子類是cocosNode,所以他們可以被手動的或者使用actions來改變。更多的細節就關注Action吧。
小結:iPhone游戲開發之Cocos2d基本概念的內容介紹完了,希望本文對你有所幫助!