文档章节

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

j
 jannn
发布于 2016/04/06 17:21
字数 980
阅读 163
收藏 1
点赞 1
评论 0

##如何创建一个多分辨率的游戏或应用程序? 作为一个开发者,你肯定不想每次都重写一次代码来保证不同设备下相同的用户体验.
但是,你又会遇到一个不可避免的问题:市面上设备的尺寸太多样化了,大的小的,老的少的.
为此,如果你想开发一个跨平台的游戏或应用程序,有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
博文 64
码字总数 20006
作品 0
温州
程序员
V-Play入门手册

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

jannn ⋅ 2016/04/11 ⋅ 0

iOS和Android开发:你需要知道的5件事

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

zoujiajun33 ⋅ 2016/09/22 ⋅ 0

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

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

jannn ⋅ 2016/04/06 ⋅ 0

V-Play入门手册4-如何获取最新的V-Play更新?

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

jannn ⋅ 2016/04/06 ⋅ 0

Android JetPlayer

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

长平狐 ⋅ 2012/10/16 ⋅ 0

App Store (Publish/App Refresh) 应用商店(发布和更新应用)

说明: 在您可以将应用提交到 Windows Phone/Windows Store 应用商店之前,您必须注册一个开发人员中心账户,要了解详细注册过程,请参见Windows Phone开发人员中心注册、Windows Store开发人...

失足处男的倒霉孩子 ⋅ 2013/12/25 ⋅ 0

V-Play入门手册3-如何编写高效的代码?

其中最酷的一个功能肯定是QML的属性绑定. From the Qt-Documentation: This is a core feature of QML that allows objects to automatically update their properties in response to chan......

jannn ⋅ 2016/04/06 ⋅ 1

Python学习资料篇

Python学习资料网络上比较多,看到好的资源,不及时记录下来,下次就找不到了,我把知乎上好的回到收藏汇总到这里,以便自己随时查看,包括Python入门书籍,网站,项目,官方文档,下载资源等...

BjarneCpp ⋅ 2017/12/03 ⋅ 0

Google Maps Android API v2入门

概述 创建一个新的使用了Google Maps Android API v2的Android应用需要许多个步骤。这一节中所概述的其中的许多步骤只是需要必须执行一次而已,但有些信息则是未来应用开发方便的参考。给一个...

WolfCS ⋅ 2013/11/30 ⋅ 0

【AR】在Unity中开始使用Vuforia(1)

原 目录 在Unity中开始使用Vuforia Vuforia在统一 关于Vuforia 安装Vuforia 创建一个新的Unity项目 Vuforia游戏对象 在您的项目中激活Vuforia 访问Unity中的Vuforia功能 将目标添加到您的场景...

lichong951 ⋅ 06/11 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Confluence 6 从其他备份中恢复数据

一般来说,Confluence 数据库可以从 Administration Console 或者 Confluence Setup Wizard 中进行恢复。 如果你在恢复压缩的 XML 备份的时候遇到了问题,你还是可以对整个站点进行恢复的,如...

honeymose ⋅ 15分钟前 ⋅ 0

myeclipse10 快速搭建spring boot开发环境(入门)

1.创建一个maven的web项目 注意上面标红的部分记得选上 2.创建的maven目录结构,有缺失的目录可以自己建立目录补充 补充后 这时候一个maven的web项目创建完成 3.配置pom.xml配置文件 <proje...

小海bug ⋅ 27分钟前 ⋅ 0

nginx.conf

=========================================================================== nginx.conf =========================================================================== user nobody; #......

A__17 ⋅ 30分钟前 ⋅ 0

645. Set Mismatch - LeetCode

Question 645. Set Mismatch Solution 思路: 遍历每个数字,然后将其应该出现的位置上的数字变为其相反数,这样如果我们再变为其相反数之前已经成负数了,说明该数字是重复数,将其将入结果r...

yysue ⋅ 43分钟前 ⋅ 0

Python这么强?红包杀手、消息撤回也可以无视,手机App辅助!

论述 标题也许有点不好理解,其实就是一款利用Python实现的可以监控微信APP内的红包与消息撤回的助手。不得不说,这确实是一款大家钟意的神器。 消息撤回是一件很让人恶心的事,毕竟人都是有...

Python燕大侠 ⋅ 59分钟前 ⋅ 0

压缩打包介绍、gzip压缩工具、bzip2压缩工具、xz压缩工具

压缩打包介绍 压缩的好处不仅能节省磁盘空间而且在传输的时候节省传输时间和网络带宽 windows系统下文件带有 .rar .zip .7z 后缀的就是压缩文件 linux系统下则是 .zip, .gz, .bz2, .xz, ...

黄昏残影 ⋅ 今天 ⋅ 0

观察者模式

1.利用java原生类进行操作 package observer;import java.util.Observable;import java.util.Observer;/** * @author shadow * @Date 2016年8月12日下午7:29:31 * @Fun 观察目标 **/......

Cobbage ⋅ 今天 ⋅ 0

Ubuntu打印服务器配置

参考:https://blog.csdn.net/gsls200808/article/details/50950586 https://blog.csdn.net/jiay2/article/details/80252369 https://wiki.gentoo.org/wiki/HPLIP 由于媳妇儿要大量打印资料,......

大熊猫 ⋅ 今天 ⋅ 0

面试的角度诠释Java工程师(二)

原文出处: locality 续言: 相信每一位简书的作者,都会有我这样的思考:怎么写好一篇文章?或者怎么写好一篇技术类的文章?我就先说说我的感悟吧,写文章其实和写程序是一样的。为什么我会...

颖伙虫 ⋅ 今天 ⋅ 0

github中SSH的Key

https://help.github.com/articles/connecting-to-github-with-ssh/ https://help.github.com/articles/testing-your-ssh-connection/ https://help.github.com/articles/adding-a-new-ssh-k......

whoisliang ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部