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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

【嘮叨】

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




【AppDelegate.cpp】


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

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

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

????源碼分析:

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


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

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

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

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

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

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


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

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


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


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



轉(zhuǎn)載于:https://blog.51cto.com/shahdza/1550087

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。