亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-06-27 22:50:45 來源:網絡 閱讀:3104 作者:shahdza 欄目:開發技術

【嘮叨】

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




【AppDelegate.cpp】


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

    里面有三個方法:

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

    源碼分析:

//
	bool AppDelegate::applicationDidFinishLaunching() {

		//初始化一個導演, 只能有一個導演
		auto director = Director::getInstance();

		//使用OpenGLView
		auto 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。

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


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

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


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

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



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

什邡市| 延寿县| 霍林郭勒市| 理塘县| 湘西| 抚顺市| 肃宁县| 买车| 宁津县| 诸暨市| 志丹县| 中江县| 聊城市| 得荣县| 辽阳市| 荣昌县| 外汇| 章丘市| 石阡县| 海城市| 大竹县| 酒泉市| 建平县| 鄂托克旗| 嘉善县| 随州市| 美姑县| 安龙县| 陆丰市| 鹿邑县| 北票市| 太原市| 康定县| 西平县| 闽清县| 凉城县| 盐池县| 云南省| 龙海市| 秦安县| 青田县|