Cocos2d學習筆記基本對象

來源:互聯網
上載者:User

Cocos2d學習筆記基本對象是本文要介紹的內容,文章記錄了Cocos2d點點滴滴,感謝知易的cocos2d教程,在拜讀他的教程時將一些要點記錄下來,以便隨時查閱。來看詳細內容。

1.情境 (CCScene):構成整個遊戲的流程的畫面就是我們所說的情境

不同的情境都提供不同的操作,大致可以分為以下幾類情境:

展示類情境:播放視頻或簡單的在映像上輸出文字,來實現遊戲的開場介紹、 勝利、失敗提示、協助簡介。

選項類情境:主菜單、設定遊戲參數等。

遊戲情境:這是遊戲的主要內容,除了這個情境之外的其他類情境基本上都是通用架構實現的。

每個情境都是通過不同的層(Layer)的疊加和組合協作來實現不同的功能的。因此,通常每個情境都是有一個或者幾個層組成的。

2.層(CCLayer)

層是我們寫遊戲的重點,大約 99%以上的時間是在層上實現遊戲的內容。

層的疊加是有順序的,比如:編號為 1 的映像背景局在最下面,2 號中間,3 號最 上面。處於最上面的層不透明的內容將覆蓋下面層的內容。

這個次序同樣用於編程模型中的事件響應機制。即編號 3 的層最先接收到系統事件(手指單擊螢幕事件),然後是編號 2,最後編號 1。在事件的傳遞過程中,如果有一個層處理 了該事件,則排在後面的層將不再接收到該事件。

我們可以簡單的把層理解為在微軟 Windows 編程中的視窗(hWnd 或者 WinForm,還有 Delphi 中的 TForm)。

每一層又可以包含很多各式各樣的內容要素:文本(Label)、連結(HTMLLabel)、精靈(Sprite)、地圖等等。其中,精靈是重點。

Layer 的主要功能在於:

1)接收 iPhone 上的螢幕觸摸(touch)操作輸入。

2) 接收動力感知(Accelerometer)輸入。

除此之外,layer 對象本身並沒有提供更多的功能。

Cocos2D為了便於大家使用,直接提供了以下 3 個局:

ColorLayer 顏色層:這是一個透明的、可以按照 RGB 設定填充顏色的層。可以通過 setContentSize 設定層大小,改變顏色塊的尺寸。層也支援動作,可以閃爍,漸層。

Menu 菜單層:這是一個以 Menu 對象為集合類,MenuItem 類執行個體組成各式各樣按鈕的菜單管理選擇畫面層。(注意:該層中的執行個體必須是 MenuItem 類或者子類的執行個體)。Menu 類提供的方法主要都是用來按照橫向、豎向或者多行列排序展示 MenuItem 類執行個體的。

為了實現不同的按鈕效果,系統提供多種類型 MenuItem。每個按鈕都有三個基本狀態:正常、選種、禁止。

3.精靈(CCSprite)

精靈是整個遊戲開發處理的主要對象。

從技術上講,精靈就是一個可以不斷變化的圖片。返些變化包括:
  
位置移動

旋轉(以自身幾何中心或以某個螢幕座標為軸)

放大縮小

運動(按一定時間間隔連續顯示一系列映像,形成運動效果)

所謂遊戲,就是玩家操作一個或多個人工控制的精靈與一個或者若干個系統控制的敵方精靈進行互動:緊身肉搏、遠程射擊、貼近對話等等。

4.導演 (CCDirector)

按照物件導向的設計原則和反向依賴原則:精靈不應該依賴層、層不應該依賴情境、情境不應該依賴整個流程。導演對象就是整個流程的代表,他負責遊戲全過程的情境切換。

導演通常只有一個,因此返個對象是單例(singleton)。Cocos2D架構已經預定義了該執行個體,不需建立,我們直接使用就可以。

導演對象接受層對象/情境的要求,按照預先設計好的流程來終止、壓棧、啟用當前情境,引導下一個情境。

需要特別說明的是:任何時間,只有一個 Scene 對象執行個體處於運行啟用狀態。該對象可以作為當前遊戲內容的對象的整體包容對象,對於 Menu(菜單對象,繼承 Layer 對象), 通常屬亍當前情境的主局。以上就是一個遊戲的主要整體對象架構。

CCDirector對象的作用類似於我們在微軟 Windows 編程中的主視窗對象(不同之處在於該對象並不可見),它負責建立、管理應用程式/遊戲的主視窗,在特定的條件下顯示執行某個情境(Windows 編程中的某個視圖-View)

5.schedule

遊戲設計時,我們需要丌斷的改變螢幕顯示來反映遊戲操作的效果,最簡單的就 是提示使用者已經啟動並執行遊戲時間。為此,我們需要使用 Cocos2D 的內建 任務調度機制,即 CocosNode 的方法:schedule。

schedule 的作用類似計時器,按照指定的時間間隔不斷調用某個指定的回調氹數。

小結:Cocos2d學習筆記基本對象的內容介紹完了,希望本文對你有所協助!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.