文档章节

V-Play入门手册2-如何创建一个多分辨率的游戏或应用程序?

j
 jannn
发布于 2016/04/06 17:21
字数 980
阅读 193
收藏 1

##如何创建一个多分辨率的游戏或应用程序? 作为一个开发者,你肯定不想每次都重写一次代码来保证不同设备下相同的用户体验.
但是,你又会遇到一个不可避免的问题:市面上设备的尺寸太多样化了,大的小的,老的少的.
为此,如果你想开发一个跨平台的游戏或应用程序,有2个比较理想的方案:

###A.)适用于应用程序的密度无关性 在游戏中,你通常希望在不同平台下能有一个相同的游戏体验.
但是,在移动设备IOS & Android & Windows Phone中,你想充分利用屏幕空间的最好办法.

一个理想的跨平台的用户体验,应该是不管什么平台的屏幕密度 & 屏幕大小 & 屏幕分辨率,都有一个你想要的按钮和文本元素尺寸以便操作.此外,在高密度设备中图像应该是非常清晰的,并在低端设备不会过多浪费宝贵的内存.

同时为了进一步提高用户体验度,需要响应式设计,意思如下例:

  • 在屏幕上显示更多的内容,比如在平板电脑上应该比在手机显示更多的内容.
  • 显示更多的列表子项,比如在某些比较长的手机上.
    手机和平板电脑内容显示对比

V-Play可以帮你解决这些挑战,以跨平台的方式! 因此,只需要一份代码,就可以轻易的创建一个适配不同设备的应用程序. 为了深入指导如何做到这一点,可以看看这个How to Support Muliple Screen Sizes & Screen Densities

###B.)适用与游戏的内容缩放 我将要展示的是一种最适合游戏的技术,叫做内容缩放.

在一个逻辑场景尺寸中缩放适配不同设备的分辨率,这个概念的好处如下:

  • 只需要写一次代码,节省了大量时间.
  • 可以使不同设备上的玩家对等,例如平板VS手机(这在游戏排行榜中尤其突出).

你可以设置不同的缩放模式,来使逻辑场景与显示屏分辨率匹配. 接下来我将介绍letterbox,这是最重要的也是默认的缩放模式. ####Letterbox Scale Mode 这种缩放模式缩放的内容尺寸是一致的,而较小的四边则留空显示. 这意味着不同设备上都可以看到整个逻辑场景. 不足之处,在长宽比不同的逻辑场景中,会有黑色边框,如图:
不同长宽比导致的黑色边框
为了解决这个问题,你可以增加你的背景图像的大小来填充边框,所以应该创建4:3和16:9的长宽比的背景图像,而不是3:2.

在下面这张图片,你可以看到,4:3和16:9的长宽比都能较好的适配不同屏幕尺寸的比例.
较好的适配比例

为了使你更轻松,我们已经计算并准备好了你的背景图像应该支持的所有设备的尺寸.

Device typeLogical Scene SizeSuggested Background Size
sd480x32570x360
hd960x6401140x720
hd21920x12802280x1440

TODO:以下内容待补充... ####动态切换精灵图(也叫雪碧图)

####如何使游戏布局更合理

####高级主题

在某些情况下,你想在不同设备(平板电脑 & 移动设备 & PC)下拥有不同的UI和布局.

####准备起飞(你咋不上天嘞) 现在你可以试着把这些概念付之于行动!

© 著作权归作者所有

共有 人打赏支持
j
粉丝 10
博文 66
码字总数 20006
作品 0
温州
程序员
V-Play入门手册

是一个基于Qt的新生代游戏开发框架(主要是2D),后衍生出了App开发框架. 下载和使用开发你的前,必须注册一个的账户( 更新 & 部署 & 其他都需要这个账户), 拥有你自己的账户之后(账户就是你的某...

jannn
2016/04/11
217
0
iOS和Android开发:你需要知道的5件事

当谈到为你的移动应用或游戏选择目标平台时,仍是有两个主要的选择。自智能手机引入以来,iOS和Android主导了移动设备,并且这种情况没有很快会改变的迹象。那么这几个平台真正的区别是什么呢...

zoujiajun33
2016/09/22
9
0
V-Play入门手册1-如何在5分钟内把你游戏或应用程序带到你的移动设备上?

第一次课程... 如何在5分钟内把你游戏或应用程序带到你的移动设备上? 安装之后,启动()并创建一个新的项目, 这里有一些游戏或应用程序的模版,你可以选择你喜欢的来生成,下面是模版示意图: 新建...

jannn
2016/04/06
154
0
V-Play入门手册4-如何获取最新的V-Play更新?

通过维护工具手动更新 安装后,你可以通过Qt的维护工具来获取V-Play游戏或应用程序API的更新, 这个维护工具在你的安装目录下,叫做. 运行这个维护工具并选择更新组件来检查是否有可用的V-Play更...

jannn
2016/04/06
77
0
Android JetPlayer

本文译自:http://developer.android.com/guide/topics/media/jetplayer.html Android平台包含了一个能够把JET音频内容的交互式播放添加到应用程序中JET引擎。使用携带SDK的JetCreator编辑应...

长平狐
2012/10/16
67
0

没有更多内容

加载失败,请刷新页面

加载更多

关于Excel表格导出方法--application/vnd.ms-excel

关于Excel表格导出方法--application/vnd.ms-excel 由于本人所做的项目中需要用到两种将JSP页面table导出到Excel表格的方法(老板也是坑爹),一种是在后台操作数据库来实现,比较简单。由于...

DemonsI
25分钟前
2
0
springboot配置读写分离

我不提供内容,我只是好文章的搬运工 https://www.cnblogs.com/wuyoucao/p/9610882.html

颖辉小居
28分钟前
2
0
Spring 传参

spring传参之@RequestParam注解 @RequestParam注解有三个参数分别是: value、 required、 defaultValue 代码: @RequestMapping(value="test1", method = RequestMethod.GET) public String......

休辞醉倒
30分钟前
2
0
go http 框架性能大幅下降原因分析

最近在开发一个web 框架,然后业务方使用过程中,跟我们说,压测qps 上不去,我就很纳闷,httprouter + net/http.httpserver , 性能不可能这么差啊,网上的压测结果都是10w qps 以上,几个m...

鼎铭
30分钟前
11
0
GCC编译过程记

GCC编译过程记 一、引言 对于编程工作者来说,GCC是一个熟悉的名字,它的全称是“GNU Compiler Collection”。GCC是一组编译器集合,目前其支持C、C++、Objective-C、Objective-C++、Go和RBI...

珲少
32分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部