日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cocos2dx[3.2](5) ——入口类AppDelegate.cpp

發布時間:2025/4/16 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cocos2dx[3.2](5) ——入口类AppDelegate.cpp 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【嘮叨】

????入口類AppDelegate.cpp是游戲程序的入口。




【AppDelegate.cpp】


????這是游戲程序的入口,主要用于游戲程序的邏輯初始化,并創建運行程序的入口界面(即第一個游戲界面場景)。

????里面有三個方法:

//applicationDidFinishLaunching();??//邏輯初始化applicationDidEnterBackground();??//切換到后臺applicationWillEnterForeground();?//切換到前臺 //

????源碼分析:

//bool?AppDelegate::applicationDidFinishLaunching()?{//初始化一個導演,?只能有一個導演auto?director?=?Director::getInstance();//使用OpenGLViewauto?glview?=?director->getOpenGLView();if(!glview)?{glview?=?GLView::create("My?Game");glview->setFrameSize(480,?320); //程序窗口標題director->setOpenGLView(glview);}//屏幕適配,設置游戲設計的分辨率glview->setDesignResolutionSize(480,?320,?ResolutionPolicy::SHOW_ALL);//開啟狀態顯示,?幀數,精靈數等director->setDisplayStats(true);//刷新頻率,每秒60幀。director->setAnimationInterval(1.0?/?60);//創建一個場景HelloWorld,這是游戲程序的第一個界面auto?scene?=?HelloWorld::createScene();//運行director->runWithScene(scene);return?true;}//?切換到后臺void?AppDelegate::applicationDidEnterBackground()?{//暫停游戲Director::getInstance()->stopAnimation();//暫停音樂SimpleAudioEngine::getInstance()->pauseBackgroundMusic();}//?切換到前臺void?AppDelegate::applicationWillEnterForeground()?{//繼續游戲Director::getInstance()->startAnimation();//繼續音樂SimpleAudioEngine::getInstance()->resumeBackgroundMusic();} //


????講到這里,大家可能會感到疑惑。為什么會設置了兩次分辨率大小呢?

????????setFrameSize(480, 320);

????????setDesignResolutionSize(480,320,ResolutionPolicy::SHOW_ALL);

????朋友們,這兩個的意義是不一樣滴。

????setDesignResolutionSize?是設置了我們游戲設計時候的分辨率,即想要適配的寬480高320的屏幕比例。也就是說設計者初衷的游戲分辨率屏幕大小。但是對于每個用戶來說,他們使用的設備不一定是(480,320)的,比如手機有大有小。而后面的?ResolutionPolicy::SHOW_ALL?參數意思是按照原比例(480/320)進行放縮以適配設備的實際屏幕。

????setFrameSize(480, 320)?則是設置我們預想設備的屏幕大小,也就是應用程序窗口的大小。


????以下貼了幾張對比圖,加深理解。

????1、這是原圖片大小,窗口大小為480 * 320。


????2、若設置窗口大小為setFrameSize(960, 640),而不設置設計分辨率放縮比例ResolutionPolicy::SHOW_ALL?的情況下,圖片不放縮,原圖還是480 * 320。


????3、設置了?ResolutionPolicy::SHOW_ALL?之后,圖片放縮到適配整個屏幕960 * 640 了。



轉載于:https://blog.51cto.com/shahdza/1550087

總結

以上是生活随笔為你收集整理的cocos2dx[3.2](5) ——入口类AppDelegate.cpp的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。