從頭開始學cocos2dx筆記之六(TESTCPP之分辨率適配)

有了個大概的總覽後,自然而然就有了個做個實際的小遊戲出來的想法。但是這個想法付諸實施之前,還需要了解cocos2dx具體有那些功能。一本教材只是讓我們瞭解入門的東西,更加強大的功能還是需要更多的瞭解。那怎麼了解cocos2dx的功能呢,就如ogre有相應的功能演示示例,cocos2dx也有對應的功能演示示例,那就是TESTCPP。由於android環境無法啓動模擬器運行,所以學習這個演示示例以及查看代碼我決定通過VS環境來進行。

首先讓我們從整個程序的入口AppDelegate.cpp開始.在DidFinishLaunching接口裏面,我們看見首先程序讀取了個config文件,然後實例化director,以及關聯顯示主窗口,接下來根據當前屏幕情況設置參數。我們注意到資源文件的放置是在工程根目錄下resources文件夾對應的目錄裏面,但設置路徑參數的時候並沒有包括resources路徑,回想一下,TestCpp運行在WIN32和ANDROID窗口大小是不一樣的,所以這幾段代碼大概可以給我們如何設置高分辨率做一個提示。仔細看其中代碼,其核心在於幾行代碼: 

pDirector->setContentScaleFactor(resourceSize.height/designSize.height);

pFileUtils->setSearchPaths(searchPaths);

CCEGLView::sharedOpenGLView()->setDesignResolutionSize(designSize.width, designSize.height, kResolutionNoBorder);

其中pfileutils是全局的資源路徑,通過簡單的判斷,設置對應不同分辨率下讀取的資源路徑。不同屏幕大小searchPaths的值是不一樣的。關於pDirector->setContentScaleFactor與CCEGLView::sharedOpenGLView()->setDesignResolutionSize,詳細的介紹大家可以參考這裏:http://cocos2d-x.org/wiki/Multi_resolution_support/diff/16

http://www.2cto.com/kf/201212/175527.html

我的大致理解是:TestCpp是在480X320的分辨率下設計的(designSize)的,但是現在要在一個960X640的設備上運行(SceneSize),爲此,我準備了一套960X640的更加精細的資源(resourceSize),需要程序運行時針對性讀取(setSearchPaths),除此之外,還要告訴引擎圖片分辨率與設計分辨率的比率(setContentScaleFactor),以及我設計遊戲的分辨率是什麼(setDesignResolutionSize)。

 

關於分辨率適配就到這裏。接下來的代碼我們可以看到創建了一個CCScene,一個TestController的CCLayer,然後讓director加載。因此,這個TestController應該就是程序運行開始我們看見的那個菜單界面。

再接下來就是程序後臺與恢復的2個接口,內容很簡單,就是暫停與恢復。

 

接下來將對TestController這個特殊的LAYER做一番瞭解。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章