我所理解的Cocos2d x 應用程式架構

2021-07-15 09:49:04 字數 584 閱讀 4534

應用程式中關於視窗方面最常用的操作是通過director查詢當前的視窗尺寸。director提供了幾種不同概念的視窗尺寸。winsize表示實際的畫布大小,visiblesize表示螢幕上可見區域的大小,但都表示設計解析度。winsizeinpixel可以獲取螢幕的實際解析度。

director提供兩種方法從乙個場景切換到另乙個場景:

遊戲迴圈的步驟如下:

檢測玩家輸入事件的發生。因為玩家操作的是他看到的內容,他看到的一切元素位置都是由上一幀繪製確定的,所以這樣做能保證程式處理的也是玩家期望的結果。

執行動畫更新。同樣,動畫更新也應該被優先處理,因為在動畫計算之後,程式邏輯可能還會對值進行修改。

物理模擬碰撞。注意,這裡並不是絕對的,cocos2d-x中的物理更新實現為scene向scheduler註冊乙個優先順序為0的更新處理,應用程式可能註冊乙個優先順序更高的邏輯更新,可能先於物理模擬被處理。

程式邏輯更新。

ui樹的遍歷。

渲染系統開始根據元素的邏輯繪製順序進行繪製,全部元素繪製完成之後,交換前後緩衝區,以將當前幀的內容繪製到螢幕上。

最後,poolmanager會釋放掉當前幀的所有autorelease物件。

我所理解的Cocos2d x 主線程

cocos2d x目前仍然是乙個單執行緒的遊戲引擎,使我們幾乎不需要考慮遊戲物件更新的執行緒安全性。然而,我們仍然需要關注一些情形,如網路請求 非同步載入檔案或者非同步處理一些邏輯演算法等。其他執行緒有一些方法必須在主線程中執行,如gl相關的方法。另一些時候,為了保證ref物件引用計數的執行緒安全,...

《我所理解的cocos2dx》第六章 精靈

6.3 alpha預乘 6.4 精靈表 6.5 精靈動畫 精靈sprite 精靈繪製區域可能來自紋理上的一部分,或者只是乙個與紋理無關的純色矩形 對sprite繪製的修改,表現為對這個結構體的修改,結構體記錄了乙個矩形圖元的4個頂點屬性,座標顏色紋理座標 方便進行批繪製 有透明度的物體疊加 它將rg...

cocos2dx 紋理快取的理解

在cocos2dx中顯示一張,需要首先把它從檔案讀取到記憶體,再根據檔案格式進行解碼,轉換為gpu可以識別的格式,這塊可以被gpu識別的 記憶體中的影象資料,被稱為紋理。為了節省記憶體空間,減少大量瑣碎的小檔案的讀取引發的多次i o操作,將多個紋理拼成為乙個大的紋理圖,成為紋理圖集。就像是給別人看你...