内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

cocos2dx[3.2](6)——屏幕適配-創(chuàng)新互聯(lián)

【嘮叨】

成都創(chuàng)新互聯(lián)公司是一家企業(yè)級(jí)云計(jì)算解決方案提供商,超15年IDC數(shù)據(jù)中心運(yùn)營(yíng)經(jīng)驗(yàn)。主營(yíng)GPU顯卡服務(wù)器,站群服務(wù)器,德陽(yáng)電信服務(wù)器托管,海外高防服務(wù)器,機(jī)柜大帶寬、租用·托管,動(dòng)態(tài)撥號(hào)VPS,海外云手機(jī),海外云服務(wù)器,海外服務(wù)器租用托管等。

    手機(jī)的屏幕大小千差萬(wàn)別,如現(xiàn)在流行的安卓手機(jī)屏幕大部分長(zhǎng)寬比例為16:9。而iPhone 5S的長(zhǎng)寬比例為71:40(接近16:9),也有預(yù)測(cè)說(shuō)iPhone 6S的長(zhǎng)寬比例也將會(huì)是主流的16:9。另外還有一些平板電腦為4:3、16:10、5:4等等。當(dāng)然還有一些其他的牌子可能屏幕比例也不一樣。

    要想讓你的程序在各種手機(jī)上都能很好的呈現(xiàn)游戲畫(huà)面,就需要進(jìn)行屏幕適配。

【致謝】

    http://gl.paea.cn/contents/10adab2de4f4bf1c.html

【小知識(shí)】

    分辨率:是指屏幕圖像的精密度,即顯示器所能顯示的像素有多少。

    如:分辨率480×320的意思是水平方向含有像素?cái)?shù)為480個(gè),垂直方向像素?cái)?shù)320個(gè)。

    屏幕尺寸一樣的情況下,分辨率越高,顯示效果就越精細(xì)和細(xì)膩。

    同時(shí)分辨率也反映了屏幕長(zhǎng)寬比例(如15:10)。


【屏幕適配】

1、兩個(gè)分辨率

   1.1、窗口分辨率

    在AppDelegate.cpp中有個(gè)設(shè)置窗口分辨率的函數(shù)。該函數(shù)是設(shè)置了我們預(yù)想設(shè)備的屏幕大小,也就是應(yīng)用程序窗口的大小。

//
	glView->setFrameSize(480, 320);
//

    1.2、設(shè)計(jì)分辨率(可視區(qū)域)

    在AppDelegate.cpp中也有個(gè)設(shè)置設(shè)計(jì)分辨率的函數(shù)。該函數(shù)是設(shè)置了我們游戲設(shè)計(jì)時(shí)候的分辨率,也就是可視區(qū)域的大小,也就是說(shuō)設(shè)計(jì)者初衷的游戲可視區(qū)域的分辨率屏幕大小。

    但是對(duì)于每個(gè)用戶來(lái)說(shuō),他們使用的設(shè)備不一定是(480/320)的,比如手機(jī)有大有小。

    而后面的ResolutionPolicy::SHOW_ALL,意思是按照原比例(480/320)進(jìn)行放縮以適配實(shí)際屏幕大小。

//
	glview->setDesignResolutionSize(480, 320, ResolutionPolicy::SHOW_ALL);
//

    以下貼了三張對(duì)比圖,加深理解。

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

cocos2dx[3.2](6) ——屏幕適配

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

cocos2dx[3.2](6) ——屏幕適配

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

cocos2dx[3.2](6) ——屏幕適配

2、五種適配模式

    從上面的講解我們可以了解到,setFrameSize()是設(shè)置了窗口大?。雌聊坏膶?shí)際大?。?,而這個(gè)參數(shù)只是為了我們開(kāi)發(fā)時(shí)作為模擬參照,在實(shí)際手機(jī)上運(yùn)行時(shí),手機(jī)的屏幕大小是我們無(wú)法設(shè)置的。

    而屏幕適配的關(guān)鍵在于setDesignResolutionSize(),通過(guò)它來(lái)設(shè)置可視區(qū)域的分辨率以及屏幕適配模式。該函數(shù)的前兩個(gè)參數(shù)為分辨率(即屏幕長(zhǎng)寬比例),而最后一個(gè)參數(shù)則是適配的模式。

    2.1、適配模式

  (1)ResolutionPolicy::EXACT_FIT:拉伸變形,使鋪滿屏幕。

    (2)ResolutionPolicy::NO_BORDER:按比例放縮,全屏展示不留黑邊。

                                             (長(zhǎng)寬中小的鋪滿屏幕,大的超出屏幕)

    (3)ResolutionPolicy::SHOW_ALL:按比例放縮,全部展示不裁剪。

                                             (長(zhǎng)寬中大的鋪滿屏幕,小的留有黑邊)

    (4)ResolutionPolicy::FIXED_WIDTH:按比例放縮,寬度鋪滿屏幕。

    (5)ResolutionPolicy::FIXED_HEIGHT:按比例放縮,高度鋪滿屏幕。

    2.2、計(jì)算方法

   假設(shè):屏幕分辨率(fWidth,fHeight) ; 設(shè)計(jì)分辨率(dWidth,dHeight)。

   放縮因子:k1 = fWidth/dWidth ; k2 = fHeight/dHeight。

    則適配后的分辨率大小如下:

    (1)EXACT_FIT:( dWidth * k1     , dHeight * k2     )

    (2)NO_BORDER:( dWidth * max(k1,k2) , dHeight * max(k1,k2) )

    (3)SHOW_ALL:( dWidth * min(k1,k2) , dHeight * min(k1,k2) )

    (4)FIXED_WIDTH:( dWidth * k1     , dHeight * k1     )

    (5)FIXED_HEIGHT:( dWidth * k2     , dHeight * k2     )

    2.3、有圖有真相

        屏幕大小:400 X 400 。

        可視區(qū)域大?。?80 X 320 。

        根據(jù)上面的計(jì)算方法,自己慢慢琢磨吧。cocos2dx[3.2](6) ——屏幕適配

cocos2dx[3.2](6) ——屏幕適配        cocos2dx[3.2](6) ——屏幕適配

cocos2dx[3.2](6) ——屏幕適配        cocos2dx[3.2](6) ——屏幕適配

cocos2dx[3.2](6) ——屏幕適配        cocos2dx[3.2](6) ——屏幕適配

3、橫豎換屏

   cocos2dx開(kāi)發(fā)的游戲,在手機(jī)上運(yùn)行的時(shí)候,默認(rèn)是橫屏的。

   3.1、Android

    AndroidManifest.xml文件中

    (1)android:screenOrientation = "landscape"   //橫屏顯示(默認(rèn))

    (2)android:screenOrientation = "portrait"   //豎屏顯示

cocos2dx[3.2](6) ——屏幕適配

    3.2、IOS

//
	- (NSUInteger) supportedInterfaceOrientations{
		//橫屏顯示
		//return UIInterfaceOrientationMaskLandscape;
		
		//豎屏顯示
		return UIInterfaceOrientationMaskPortrait;
	}
//

4、屏幕大小及坐標(biāo)

    (1)WinSize:屏幕大小

    (2)VisibleSize:可視區(qū)域大小

    (3)VisibleOrigin:可視區(qū)域的左下角坐標(biāo)

//
	Director::getInstance()->getWinSize()
	Director::getInstance()->getVisibleSize();
	Director::getInstance()->getVisibleOrigin();
//

    圖解:

cocos2dx[3.2](6) ——屏幕適配

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

分享標(biāo)題:cocos2dx[3.2](6)——屏幕適配-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://www.rwnh.cn/article8/gihip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、企業(yè)建站企業(yè)網(wǎng)站制作、App設(shè)計(jì)小程序開(kāi)發(fā)、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
会理县| 改则县| 大英县| 林芝县| 山东| 贵南县| 策勒县| 庆安县| 自贡市| 剑川县| 吉安市| 永顺县| 鄂伦春自治旗| 永和县| 陵川县| 额尔古纳市| 萍乡市| 阿瓦提县| 库伦旗| 垫江县| 浏阳市| 和硕县| 鄱阳县| 张掖市| 清原| 万源市| 抚州市| 大名县| 林口县| 三江| 许昌市| 朝阳市| 文化| 自治县| 金寨县| 公主岭市| 澜沧| 衡东县| 余江县| 乌鲁木齐县| 宿松县|