搜尋
首頁資料庫mysql教程两分钟让你明白cocos2dx的屏幕适配策略

闲来无事,整理了一下cocos2dx的屏幕适配策略,本文适用于想快速理解cocos2dx适配的开发者。 我们先假设:以854 * 480 的屏幕为标准进行开发,当然,这也就是cocos2dx所说的 设计分辨率 (Design Resolution)。 先介绍几个cocos2dx的常用函数: CCEGLView :: sh

闲来无事,整理了一下cocos2dx的屏幕适配策略,本文适用于想快速理解cocos2dx适配的开发者。

我们先假设:以854 * 480 的屏幕为标准进行开发,当然,这也就是cocos2dx所说的设计分辨率(Design Resolution)。

先介绍几个cocos2dx的常用函数:

CCEGLView::sharedOpenGLView()->setDesignResolutionSize()//设计分辨率大小(即开发时为基准的屏幕分辨率)

CCEGLView::sharedOpenGLView()->setFrameSize() //设置win32模拟器的分辨率

CCEGLView::sharedOpenGLView()->getFrameSize() //屏幕分辨率,实际的硬件参数


一、准备图片资源

准备一张854 * 480 的图片,这里我用红色线对图片的四个边描了一下边,以保证图片不能完全显示时,方便我们看出来。

两分钟让你明白cocos2dx的屏幕适配策略

二、直接使用三种适配策略

//kResolutionExactFit x,y都拉伸,使铺满屏幕
//kResolutionNoBorder
一个方向铺满屏幕,另外一个方向超出屏幕
//kResolutionShowAll
 854 * 480 的设计区域全部可见,但是可能留有黑边(如在960 * 640的屏幕上)

以上三种原理这里不再赘述,详细可参考这里:http://www.ityran.com/archives/4809

既然我们是以854 * 480 为基准来开发游戏,那么我们这里将设计分辨率设置为854 * 480 。

[cpp] view plaincopyprint?

  1. pEGLView->setDesignResolutionSize(854 ,480 ,kResolutionNoBorder);  

、看效果

下面,我们设置win32模拟器的分辨率为960*640,来看一下三种适配策略的效果。

kResolutionExactFit效果:

[cpp] view plaincopyprint?

  1. pEGLView->setDesignResolutionSize(854 ,480 ,kResolutionExactFit);  

两分钟让你明白cocos2dx的屏幕适配策略

这里可以看出,由于适配策略拉伸,x,y方向都填满了,同时也没有超出屏幕的情况,但是和下面两张图片比较,图片变形了。

kResolutionNoBorder效果:

[cpp] view plaincopyprint?

  1. pEGLView->setDesignResolutionSize(854 ,480 ,kResolutionNoBorder);  

两分钟让你明白cocos2dx的屏幕适配策略

这里也可看出,左右的红色描边都不见了,由于屏幕比例和设计比例不一致,该适配策略能够铺满屏幕,但是原图超出了屏幕。

kResolutionShowAll效果:

[cpp] view plaincopyprint?

  1. pEGLView->setDesignResolutionSize(854 ,480 ,kResolutionShowAll);  

两分钟让你明白cocos2dx的屏幕适配策略

这里,该策略使设计分辨率的所有内容均可见,但是由于实际屏幕比例和设计分辨率的比例不一致,会出现黑边的情况。

四、对资源分辨率的解释

对于一个游戏,多套图片资源,涉及到在不同屏幕分辨率情况下就需要使用不同的图片资源了,直接点说,大屏幕用大图,小屏幕用小图。

同时,由于图片资源宽高比和设计分辨率的宽高比可能不一致,也需要按照某个比例对图片资源进行缩放。

详情见:http://www.ityran.com/archives/4809

以上是个人对cocos2dx分辨率适配进行了一些简单的介绍,适合大家快速理解整套适配策略,更加详细的原理可参考文章给出的链接。

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
2340x1080是几寸屏幕2340x1080是几寸屏幕Nov 28, 2022 am 10:04 AM

2340x1080属于2K屏,指分辨率,跟屏幕大小没有直接关系;2K分辨率是一个通用术语,指屏幕或者内容的水平分辨率达到约2000像素,传统电影2K分辨率为“2048×1080”。

电脑屏幕发黄是什么原因电脑屏幕发黄是什么原因Jun 28, 2023 am 10:27 AM

电脑屏幕发黄的原因:1、显示器数据线或者接触不良导致,可以重新插拔一下显示器数据线,如果正常说明是显示器接触不良导致的;2、显示器内部灯管老化容易导致发出的光不正常,从而导致屏幕颜色问题;3、显卡接触不良,金手指灰尘太多和显卡驱动不正常;4、显卡驱动程序丢失,显卡驱动程序与系统不兼容,显卡驱动程序损坏和无法安装显卡驱动程序。

incell屏幕是什么屏incell屏幕是什么屏Mar 09, 2023 pm 04:23 PM

incell屏幕是触摸屏。Incell是一种屏幕贴合技术,它代表的是将触控面板与液晶面板进行一体化贴合处理;也就是将触控面板嵌入液晶像素之中。Incell技术带来的好处就是减少手机的厚度,使得手机厂商能够对手机的内部空间进行更加有效的利用;除此之外,采用了incell技术的屏幕拥有更好的显示画质。

ltps是什么屏幕ltps是什么屏幕Nov 07, 2022 pm 04:59 PM

LTPS不是屏幕,而是液晶面板的一种工艺,是一种制作技术。LTPS的中文意思为“低温多晶硅”,是多晶硅技术的一个分支;LTPS技术有效的提高屏幕可操作性,同时PPI可以达到500以上。ltps屏幕的最大优势在于超薄、重量轻、低耗电,可以提供更艳丽的色彩和更清晰的影像;它使用激光或热处理来把非晶硅熔融,让晶体从新排列,提高迁移率,从而实现控制高分辨率的屏幕,低功耗。

poled是什么屏幕poled是什么屏幕Nov 16, 2022 pm 04:46 PM

POLED全称Plastic OLED,中文意思为“塑性有机屏”,具备不易碎、轻便、可弯曲的特点。POLED是一种有机自发光屏幕,与采用玻璃材质的OLED屏幕有所不同,它加入了塑料材质融合,使得屏幕更有柔性,同时也使得其可以带来一定的减震效果,厚度也仅有传统玻璃材质的OLED的一半;总的来说,就是屏幕更薄、更轻、并且因为有柔性,耐摔性还更好一些。

电脑屏幕出现很多条纹是什么原因电脑屏幕出现很多条纹是什么原因Jun 28, 2023 pm 01:22 PM

电脑屏幕出现很多条纹的原因:1、显示器故障,可以尝试将电脑插头拔出,然后再重新插入;2、分辨率设置,可以尝试将分辨率调整回默认设置;3、插头连接问题,尝试重新插拔插头,确保插头完全插入;4、显卡问题,可以尝试更新显卡驱动程序;5、电脑病毒感染,运行杀毒软件扫描你的电脑,处理任何检测到的威胁;6、电磁干扰,将电脑移动到不同的位置;7、硬件故障,联系专业人员进行检修或更换。

iPhone屏幕在通话过程中变黑,如何修复iPhone屏幕在通话过程中变黑,如何修复Aug 07, 2023 pm 04:41 PM

当您无法切断通话时,您是否曾经因为通话时iPhone屏幕无法打开而感到烦躁?这是因为我们已经看到了几位iPhone用户的许多报告,这些报告称iPhone屏幕在通话过程中变黑,无论他们做什么都不会打开。如果用户紧急想要切断呼叫,想要拨打另一个号码进行电话会议,或者出于任何原因拨打代码,这实际上是有问题的。此问题背后可能有多种原因,例如最顶层可能在接近传感器存在的地方损坏、内部某些设置的更改、“点击唤醒”选项可能未启用等。在这篇文章中,我们列出了几个解决此问题的最佳故障排除技巧。修复1–检查iPho

外屏是什么外屏是什么Dec 28, 2022 pm 04:17 PM

外屏指的是手机屏幕最外层的玻璃,是手机的感应屏;外屏的作用是感应相应的输入,犹如键盘和鼠标的综合体。外屏对应的是内屏,即手机的显示屏,用于显示图像,犹如电脑的显示器。外屏如果坏了,其特征是触摸不灵或没有触摸感;内屏如果坏了,其特征为不能显示或者显示不全。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),