魔兽争霸手机助手 U9魔兽超级助手( 二 )




用户界面代码
大部分为BFA编写的代码都是在原有的LEG代码之上编写的,这使得辨认哪些代码是真正有用的变得很有挑战性 。例如,BFA的追随者列表仍然可以显示装备,只是这个功能被隐藏了 。LEG和BFA这两个资料片的相关功能十分相似,所以这不是一个太大的问题 。但是随着我们为暗影之地增加新的功能,维持原有的架构是行不通的 。如果那些与LEG和BFA共享的代码部分突然需要支持像灵魂羁绊或者盟约这样的内容,这会使得它们变得更加臃肿 。
因此,我们仔细地检查了每一处脚本,分辨出哪些功能是共享的,而哪些功能是专属于某个资料片的 。我们将资料片专属的代码分割成子类或新的组件 。只在父类中保留基本的共享性的功能,然后使用这些子类为每个资料片创建新的游戏对象 。尽管它们基于相同的系统,并且共享大部分的功能,但是现在只有在军团任务列表中才存在战友按钮,而暗影之地的冒险列表则可以去掉LEG和BFA的双标签页设计并显示敌人的头像而非任务类型 。

魔兽争霸手机助手 U9魔兽超级助手

文章插图

魔兽争霸手机助手 U9魔兽超级助手

文章插图

你可以比较一下军团任务列表和暗影之地冒险列表的异同 。
我们对于暗影之地版app的另一个重要的后台调整是如何生成数据库文件 。目前app是适用于PC端相同的管道来构建数据库代码及文件 。在判断世界任务归属于哪个地图上,这个设计派上了用场 。在最初,app是为每个地图ID使用手动逻辑,当它只需要支持阿古斯和破碎群岛时,这不是太大的问题 。然而当我们为BFA增加更多战斗区域时,它立刻就变得有些麻烦了 。不再使用这套逻辑后,我们轻松地从UI地图库中读取我们想要的内容,这使得系统完全动态地运作 。一大段用于处理三个资料片区域的代码被缩减为一个优美简约的功能,它能自动处理所有世界任务而不需要任何资料片独有的逻辑 。


资源文件
我们必须记住,移动端开发和PC端开发最大的区别在于,玩家可能会在蜂窝信号较差的环境下使用app 。因此必须确保玩家在各种网络环境下使用时都能够获得良好的体验而非烦躁感 。而我们确保这一点的方法是减少玩家使用APP时的必须下载的数据量 。
每个资料片都有很多资源文件,它们会迅速累积 。从仅支持单一资料片的app摇身变为要支持三个资料片,这意味着app所包含的数据变为原来的三倍 。然而许多资源内容都是独属于某一个资料片的,比如高分辨率的世界地图纹理、任务位置背景、随从和敌人的头像等 。所以我们决定将每个资料片对应的资源分别打包 。这样一来,app只需要将当前资料片的资源加载到内存中,这节约了内存的占用 。
我们也很早就决定为每个资料片分割单独的游戏场景,这样就能确保功能的分离 。LEG的游戏场景不需要盟约召唤界面,而暗影之地的游戏场景也不需要船队的窗口 。和我们对代码所做的改动类似,这将使得我们更容易确定app在给定时间内的运作情况 。这种对资源和场景的分割使得每个资料片都是独立的,这也为一些更友好的内容下载选项奠定了基础 。
我们希望在玩家需要下载资源文件时有更多的自主性 。当你的网络环境稳定时,你可以选择一次性下载所有的数据 。或者你也可以推迟下载其他资料片数据的时间以更快地进入app 。如果你决定不游玩某一资料片内容,那么你可以选择不下载相关的资源文件 。每个资料片包含约30-40M的资源文件,可以跳过的下载量是相当可观的!


特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。