cocos2d x 複習知識點整理(四)

2021-09-08 02:38:55 字數 2132 閱讀 6725

31.場景切換的記憶體管理以及生命週期

生命週期事件順序:

helloworld場景進入setting場景生命週期事件順序

32.簡述cocos2d螢幕適配解決方案

螢幕解析度,資源解析度,設計解析度

螢幕解析度:以畫素為單位的螢幕大小

資源解析度到設計解析度到螢幕解析度,

setcontentscalefactor();設定縮放因子,指資源大小和設計解析度大小的比值,

setsearchpaths();設定搜尋路徑,每個路徑下面有一套資源檔案

setdesignresolutionsize();設計解析度到螢幕解析度,

33.常用的輔助工具

瓦片地圖和組合的自己玩過...中間的沒玩過  問我怎麼玩 自己搜教程..

34.遊戲啟動是從哪個類開始的

35.cache機制的原理是什麼

把新加進記憶體的資源做乙個hashmap儲存,每乙個資源加乙個key。每次載入資源的時候,先查詢資源是否存在,存在直接返回,否則載入進記憶體。

36.掌握「2048」核心邏輯實現

這尼瑪..就幾個卡片動來動去...不多說了

37.autorelease和release的區別

release立即釋放    autorelease將物件放入物件釋放池引用計數並不馬上減一,在乙個訊息迴圈後減一

38.moveto和moveby的區別

moveto是絕對的 移動到世界座標的乙個固定的點  moveby是相對的 是在原來的位置上相對移動乙個向量。

39.簡述cocos2d-x記憶體管理 快取機制 自動釋放池 自動釋放池管理器

引用計數器——手動管理記憶體

自動釋放池——自動管理記憶體

ccnode節點管理

靜態工廠

node在addchild時引用計數加一,removechild時引用計數減一

__array和__dictionary等容器物件通過add(addobject)相關函式可以使得其中的精靈引用計數加一..

其他可以顯式呼叫retain和release(或者autorelease)

乙個retain一定要對應乙個release或者autorelease

靜態工廠

靜態工廠建立方法,兩階段建立模式,分配記憶體與初始化分開

cache機制類

tecturecache紋理快取,第一次使用一張有兩步,乙個是先將載入進texturecache中,下一步是繪製,第二次使用這張時從快取裡找到這張,直接繪製

和texturecache一樣,不過和texturecache不同的是,如果記憶體池中不存在要查詢的,他會提示找不到,而不是去本地載入。

而對於使用頻率高的動畫,例如角色的走動、跳舞等,可以將其加入到animationcache中,每次使用都從這個快取中呼叫,這樣可以有效的降低建立動畫的巨大消耗。

lamuda表示式:

auto listener = eventlistenertouchonebyone::create();

listener -> ontouchbegan = [&](touch* touch ,event *event)

;

Cocos2d x錯誤筆記整理(5)

out of line definition of getbackimage does not match any declaration in card 背景分析 在vs中沒有這個錯誤,在xcode中有可能會出現這個問題。cc property node backimage,backimage c...

cocos2dx關於size的知識

framesize 是實際的螢幕解析度 winsize 邏輯上的遊戲解析度。開發者設計的 visiblesize 是在 winsize 之內,保持 framesize 的寬高比所能占用的最大區域 組 1 2.framesize width 720,height 420 3.winsize width...

知識點整理

一 標準庫容器和演算法 1.順序容器 與前面類似 2.關聯容器 map和multimap 元素包含key 鍵 和值 value 兩部分 按照鍵對元素排序 map不允許重複元素出現,但multimap可以 set和multliset 是包含已排序物件的關聯容器 只是單純的鍵的集合 set不允許重複鍵出...