我所理解的cocos2dx自适配屏幕大小方案
这里主要有两个点:
1.屏幕大小的设置,也就是手机窗口的大小,在各个手机上面或者平板上的屏幕的大小。
这个大小的设置就是代码里面的:glview->setFrameSize(width, high);
2.设计大小,也就是游戏里面应该显示的大小设置,在游戏制作的时候,游戏工程师们是不会说为不同尺寸的移动设备做几个不同的大小的界面,其实也可以做,只是这样做非常的不明智,因为这样工程量会相当的大,所以就只有做一些取舍,比如说缩放,缩放到刚好有一个元素(长或者宽)刚好和设备的屏幕合适。而另一边就不是这么完美了,因为长宽比例会不一样嘛,不可能每一个设备的长宽比例一样的(毛主席也没有这么规定啊)。所以,平庸的cocos2d研发者也只有想到几种容易想到的办法,比如说,长度适配或者宽度适配,然后等比缩放、又或者说长宽按比例缩放,可能还有其他的吧。。。。
这些缩放就是用屏幕大小和设计大小来相除得到缩放因子来处理的。
所以说就是这样啦!!!“适配原则”…………我只想说这是一个“装逼”的社会。
我所理解的cocos2dx自适配屏幕大小方案的更多相关文章
- cocos2d-x JS 获取屏幕大小或中点
以一张背景图为例: var HelloWorldLayer = cc.Layer.extend({ ctor:function () { this._super(); var bg = new cc. ...
- 关于web页自动适配屏幕大小
一.先了解下html5的viewport使用 随着高端手机(Andriod,Iphone,Ipod,WinPhone等)的盛行,移动互联应用开发也越来越受到人们的重视,用html5开发移动应用是最好的 ...
- rem 适配屏幕大小
window.onresize=function(){ var html=document.getElementsByTagName("html")[0]; var width=w ...
- Cocos2dx开发之屏幕适配
由于各种智能手机的屏幕大小都不一致,会出现同一张图片资源在不同的设备分辨率下显示不一样的问题.为避免这样的情况,需要Cocos引擎能提供多分辨率的支持,也就是说要求实现这样的效果 — 开发者不需要考虑 ...
- Cocos2dx 3.x 屏幕适配
Cocos2dx 3.10+Cocos Studio3.10 1.在适配过程中必须明确几个概念: ①Frame大小:这个值在windows/mac/linux下就是创建窗体的大小,在手机上就是屏幕大小 ...
- 我所理解的Cocos2d-x
我所理解的Cocos2d-x(完全基于Cocos2d-x3.0,深度剖析计算机图形学,OpenGL ES及游戏引擎架构,全面提升游戏开发相关知识) 秦春林 著 ISBN 978-7-121-246 ...
- Android屏幕大小适配问题解决
转载: 一.一些基本概念 1.长度(真实长度):英寸.inch 2.分辨率:density 每英寸像素数 dpi(密度) 3.像素:px 4.dip的公式:px /dip=dpi/160 所以 d ...
- 国内外移动端web适配屏幕方案
基础知识点 设备像素:设备像素又称物理像素(physical pixel),设备能控制显示的最小单位,我们可以把这些像素看作成显示器上一个个的点. iPhone5的物理像素是640X1136. PS: ...
- 国内外移动端web适配屏幕方案总结
基础知识点 设备像素:设备像素又称物理像素(physical pixel),设备能控制显示的最小单位,我们可以把这些像素看作成显示器上一个个的点. iPhone5的物理像素是640X1136. PS: ...
随机推荐
- Datatable的Select()
利用datatable的select方法筛选出符合条件的datarow进行操作 Select() Select(string filterExpression) Select(string filte ...
- 《Struts2.x权威指南》学习笔记1
第2章 Struts的hello world 在介绍hello world项目前,文中要求下载和安装Struts2,主要是下载lib库和文档,可用于通过命令行进行代码编译.由于公司采用IntelliJ ...
- bs4_2
QQ:231469242 欢迎交流 Parsing HTML with the BeautifulSoup Module Beautiful Soup是用于提取HTML网页信息的模板,Beautif ...
- 用javascript替换URL中的参数值
<script> function changeUrlArg(url, arg, val){ var pattern = arg+'=([^&]*)'; var replaceTe ...
- C#--网络流Stream、字节数组保存到字符串中
第一种方法: HttpWebRequest httpwebr = (HttpWebRequest)HttpWebRequest.Create(rstr); httpwebr.Method = &quo ...
- docker中启动mysql报错
[root@5416ec39653b init.d]# /etc/init.d/mysqld start /etc/init.d/mysqld: line 23: /etc/sysconfig/net ...
- python中配置文件写法
import os BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) print(BASE_DIR) USE ...
- iOS注册,找回密码时用到的获取验证码
#import "ViewController.h" #import "NSTimer+BlocksKit.h" @interface ViewControll ...
- xcode
1: info.plist IOS之Info.plist文件简介 http://www.apkbus.com/android-130240-1-1.html 在Xcode项目中读取plist文件 ht ...
- 为什么要使用class.forname在DriverManager.getConnection之前
JDBC在getConnection之前为什么要调用Class.forName 获取一个数据库连接的通用模板如下: String driver = "oracle.jdbc.OracleDr ...