html5点击按钮出现弹窗 怎么实现_HTML5游戏开发过程中的二三事

文/ Luiu

最近跟的一款项目是HTML5手游,在这个项目中遇到并解决了诸多问题,也学习到了很多项目开发过程中需要注意的事情。这个项目自立项到现在已经过了5个多月,如今项目研发已经过了早期的忙乱阶段,于是借此机会梳理下思绪,为了能够更好的完成以后的工作。如果能给想进入HTML5这个领域的新团队一些参考,那也是一件极好的事情。

这款项目是我们团队接到的第一款HTML5类型的游戏合约,在此前团队一致在致力于传统回合制手游研发。因此团队可以说在这个领域几乎是从零开始(当然一开始的时候我们不这么觉得),所以在研发进行到中期的时候遇到了很多影响效率的问题。

其中影响最大的问题之一就是——界面适配

HTML5手游这个品类说白了就是把页游装进一个壳里,本质上他还是一个页游,拥有很多页游的特性。它是在页游框架的基础上,将UE对移动设备做了优化。因此该类游戏在后期将会根据渠道需求发行多个版本,包括直接在网页运行(电脑网页和手机网页)、在手机端运行、在平板电脑设备上运行。这样就会带来一个严重的问题——兼容性问题。由于HTML5跨平台的特性,很容易产生兼容问题。最明显的一个就是界面适配问题,最基本的要做到UI在不同长宽比的屏幕下均能完全展示,在这个基础上再考虑对主流长宽比的屏幕进行特殊处理,优化用户体验。

一、适配方案

界面适配的方案一:约束比例缩放(主流方案)

方案描述:该是保持界面中元素的相对位置不变,在不同长宽比的屏幕中进行整体缩放。

这种方案会将界面分为上中下3个区域,将中间的主要区域视作一个窗口根据屏幕比例进行缩放。在缩放的过程中保证窗口长宽比不变,保持长或者宽任意一个维度占满屏幕就可,不强求整体铺满屏幕。

方案优势:处理简单,且最终效果还可以。可以保证UI在不同长宽比的屏幕下均能完全展示,并且UI布局不变。

最终效果如图:

532012636632640d5cb706f56d0fdeda.png

图中黑色部分为空白区域,虽然对界面的美观有一定影响,但是影响不大。如果把中间的区域设计为窗口的样式,会使界面看起来更自然。

界面适配方案二:全屏铺满

方案描述:该方案同样要将界面分为上中下3个区域,只是对中间那块主要区域采用了不同的处理方式。这种方案会要求中间区域底板铺满屏幕,所有处于该底板上的元素坐标需要根据界面的长宽比进行计算,并且界面中的列表,底框等元素的大小也要根据屏幕的长宽比进行计算。

方案优势:该方案可以解决方案一种空白区域的问题,在移动设备上显示更加美观。

该方案的最终效果如图:

9c5af7189be081162a39c859f33704a8.png

这个方案实现较方案一来说更加复杂,并且最终效果不好把控。容易造成不同比例屏幕下UI出现重叠,超出边界等问题。如果处理不好,最终效果反而不如方案一。

从目前市面上的HTML5游戏来看,基本采用方案一就可满足当前用户需求。采用方案二会增加项目研发时长,并且增加人力成本。

二、元素布局方式

我们这个项目使用的是白鹭引擎,在该引擎的UI编辑器中有个约束坐标的功能。使用该功能,可以将元素的坐标相对屏幕四边或者中心进行约束,确保缩放后界面布局随之改变。建议界面中的元素更多的采用约束的形式,而不是绝对坐标。

白鹭引擎中的约束功能:

7719f2f033844bf5ab2b9875fcdc3545.png

为什么建议使用约束的形式呢?这是因为约束的方案更有利于保证界面中元素的边距,居中,四边对齐等布局。这样当用户在两个相似界面之间切换时,相同的元素位置也相同。不会出现切换时由于相同元素坐标的微小差异造成的晃动感。并且该方案更方便约定团队成员在拼界面时的规范,只需要约定相同元素的边距,元素互相之间的间距等。再者,如果采用界面适配方案一时使用约束功能的话,后期若要改为方案二,也会更加方便一些。

三、UI标准

规定UI标准对于保证UI的最终效果十分重要。在项目开始之初,就需要设计好界面中的通用控件的样式和规格,包括通用按钮、列表、标签等。并且不同功能标签的字体大小、色值、样式(加粗、描边)等也要有统一的标准。除了以上这些控件的规格和样式,还需要规定游戏中各种弹窗的样式和规格,否则必然会出现弹框大小参差不齐,影响UI美观。

UI就是游戏的脸面,是给用户留下第一印象最直观的内容。因此UI中的各个细节必须保证统一美观,这样才能给用户留下好印象。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/267259.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HDU 2063 过山车【二分图最大匹配】

Problem DescriptionRPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了。可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做partner和她同坐。但是,每个女孩都有…

科研入门之在web of science

ISI Web of Science是全球最大、覆盖学科最多的综合性学术信息资源,收录了自然科学、工程技术、生物医学等各个研究领域最具影响力的超过8700多种核心学术期刊。利用Web of Science丰富而强大的检索功能-普通检索、被引文献检索、化学结构检索,可以方便快…

手动生成 XML

2019独角兽企业重金招聘Python工程师标准>>> private void Button1_Click(object sender, System.EventArgs e) { //创建新的xml XmlDocument doc new XmlDocument(); doc.LoadXml("<company></company>"); //设置版本信息 XmlDeclaration x…

android 资源如何下沉,个推安卓手机报告: 华为一路领跑,OV下沉市场表现不俗

近日&#xff0c;国内专业的数据智能服务商个推(股票代码&#xff1a;每日互动 300766.sz)发布《 2019 年度安卓智能手机报告》&#xff0c;对华为、小米、OPPO、vivo、三星等国内主要智能手机品牌进行盘点。数据显示&#xff0c;华为手机 2019 年表现不俗&#xff0c;不仅以25…

ISA Server 2006 升级到 TMG2010

ISA Server的下个版本TMG2010已经发布有一段时间了&#xff0c;现在正在逐渐将原来的ISA Server 2006升级到TMG2010。由于TMG2010需要64位的CPU与Windows Server 2008操作系统&#xff0c;所以&#xff0c;如果原来的ISA Server 2006是安装在32位的CPU的服务器中&#xff0c;则…

nike附近门店查询_不止5折!200+入手Nike、adidas,比“11.11”还便宜!

此次劲浪体育的“劲享万购节”优惠折扣来的非常猛&#xff01;会长先把各种活动给大家整理一下这份《如何买更省钱的详细指南》大家赶紧拿好咯&#xff01;这次活动整体分为5大部分线下实体店劲浪官方微商城京东劲浪官方旗舰店会员积分翻倍兑换当现金直播尖货限时抢总结就是一句…

Android常用类库包介绍

为什么80%的码农都做不了架构师&#xff1f;>>> 在Android 类库中&#xff0c;各种包写成android.*的方式&#xff0c;重要包的介绍如下&#xff1a; android.app&#xff1a;提供高层的程序模型、提供基本的运行环境。 android.content&#xff1a;包含各种的对设…

fastdfs 吗 支持windows_主流开源文件存储系统-fastdfs是否支持windows?你可以选择minio...

首先答案是肯定的&#xff0c;fastdfs不支持windows。 其次建议你使用Minio一、引言一般来说文件存储花钱就选择阿里云oss、七牛云等产品&#xff0c;开源的话&#xff0c;目前开源的分布式文件存储系统非常多&#xff0c;上网一搜 "Ceph&#xff0c;GlusterFS,Sheepdog,L…

Android电视关闭的闪屏动画效果

老式电视机关闭的时候画面一闪消失的那个效果&#xff1a; 首先创建一个TVOffAnimation继承于Animation&#xff1a; 首先创建一个TVOffAnimation继承于Animation 然后在initialize里面设置一些参数import android.graphics.Matrix;import android.view.animation.Accelerat…

SocketServer源码学习(二)

SocketServer 中非常重要的两个基类就是&#xff1a;BaseServer 和 BaseRequestHandler在SocketServer 中也提供了对TCP以及UDP的高级封装&#xff0c;这次我们主要通过分析关于TCP的处理逻辑来对SocketServer模块进行一个很好的理解和学习 TCPServer TCPServer 继承了BaseServ…

430f149有几种封装类型_高速光调制器的发展与封装技术研究

共读好书汪冰 黄平 杨磊摘 要&#xff1a;文章分析了100 Gbps(以下简称100 G)以太网光通信光调制器及其封装的技术发展动向&#xff0c;对比分析了10 G/40 G/100 G高速光调制器及其封装的结构特点。通过对高速光调制原理的浅析&#xff0c;论述了40 G/100 G高速光调制器在100 …

vsftp账号_Linux入门-CentOS7安装vsftp

前言vsftpd是用于类Unix系统(包括Linux)的FTP服务器。那怎么搭建呢&#xff1f;请看下文在CentOS7 64位进行安装。为了调试顺利&#xff0c;关闭selinux&#xff0c;防火墙iptables一.yum安装vsftp# yum -y install vsftpd二.启动服务# systemctl start vsftpd.service三.配置文…

android n模拟器,BlueStacks推出Android N模拟器

原标题&#xff1a;BlueStacks推出Android N模拟器IT之家1月23日消息&#xff0c;相信有不少玩家都有过在电脑上玩手游的经历&#xff0c;打怪升级这类游戏在操作似乎还是交给键盘和鼠标比较高效&#xff0c;电脑端体验安卓游戏自然就要用到模拟器了&#xff0c;但是尴尬的是似…

为UIKeyboardTypeNumberPad增加自定义按键

在 iPhone 上面開發應用程式時, 在使用輸入鍵盤時, 或多或少都會遇到客制化鍵盤的問題, 這邊筆者以簡單的數字鍵盤來示範客制化的動作. 這部份我想網路上已經有不少 sample code , 但大部份基本上都是以 SDK 3.x 的版本去實作, 以"特定寫法"來實作客制化在 iOS4 會有…

车载安卓中控改鸿蒙,教你改装车子中控安卓大屏,看一遍你就会了,改完后低配秒变高配...

因为我这个车子年代比较久了&#xff0c;所以没有中控大屏&#xff0c;需要导航的时候我都是把手机放在出风口支架这个地方&#xff0c;这种磁吸的支架有时候过减速杠一震动就掉下来了&#xff0c;我又不想在上面粘什么东西&#xff0c;所以干脆就花几百块钱买了一个能够插手机…

pip 删除安装包_Python中PIP的快速指南

无论您是Python新手还是有经验的Python开发人员&#xff0c;不使用pip安装命令是不可能编写或开发Python应用程序的。在这篇文章中&#xff0c;我将对Pip进行详细介绍。Pip是Python Package Manager的缩写。当您在系统上安装python时&#xff0c;它附带了一组预定义的包&#x…

元素不包括_干货 | FDA法规对元素杂质的限度控制及计算方法

元素杂质又称重金属&#xff0c;重金属原义指比重大于5的金属&#xff0c;元素杂质包括可能存在于原料、辅料或制剂中&#xff0c;来源于合成中催化剂残留、药品生产制备过程中引入或辅料中存在的、生产设备引入、或容器密闭系统引入。某些元素杂质不仅对药品的稳定性、保质期产…

web 日志分析工具 awstats 简单安装

awstats安装使用awstats是一个开源的日志分析工具&#xff0c;用perl编写。感觉还不错&#xff0c;把安装记录写下&#xff0c;也许有人用的到。可以分析大部分标准日志数据&#xff0c;如apache的&#xff0c;nginx的都可以首先下载awstats工具&#xff0c;http://awstats.sou…

MyOffic(经理评分)

1 public class SE2 {3 //员工类4 private int id;5 6 public int Id7 {8 get { return id; }9 set { id value; } 10 } 11 private string name; 12 13 public string Name 14 …

win7讲述人修复_揭秘:干掉了win7!为何win10屡被吐槽它却“永世留芳”

干掉了win7系统&#xff0c;win10似是更加地“肆无忌惮”了&#xff01;自微软宣布停止Windows 7的全部支持&#xff0c;而后win7的老用户越发频繁地收到win10的升级通知。要知道&#xff0c;“停止全部支持”也就意味着win7不再有任何新特性&#xff0c;在安全方面也不再能得到…