大型应用软件设计实验——第二轮迭代

概述

  经过第二轮迭代,我们组在第一轮迭代的基础上进行了第二轮迭代。在本轮迭代中,我们重新进行了地图和副本的设计,实现了游戏中的大部分UI,同时实现了角色的属性值。

迭代过程

  在经过第一轮迭代后,我们对地图的制作有了一定的经验,也对第一轮迭代制作出的地图不是很满意。在网上找到一些新的素材后,我们决定重新制作游戏的地图,并同步进行游戏UI的制作。

地图制作

  重新制作后游戏共四个地图,其中名为town的场景中地图为游戏的城镇地图,其他三个scene中为副本地图。重新制作后的地图比原先的地图有了层次感,使用2D的tilemap制作出了3D的z轴效果。

  三个副本的scene中还没有设置怪物,这将在第三轮迭代中完成。

UI制作

  场景UI分为三个部分:游戏右上角的设置界面、游戏左上角的角色属性界面以及与游戏内NPC的交互界面。

  右上角的设置界面实现了继续游戏、保存游戏、回主界面以及音量调节的功能。目前,在打开设置界面后,可通过继续游戏按钮关闭设置界面并继续游戏,按下回主界面按钮可回到开始菜单、拖动slider可调节游戏内的音量。至于保存游戏的功能,我们目前暂时使用Player.Pref()函数对部分数据进行了持久化保存处理,暂未完全实现保存游戏的功能,为之后完全实现游戏存档做铺垫,我们考虑在第三轮迭代过程中在数据持久化的基础上实现存档。

  左上角直接显示了角色的血量条和蓝量条,当角色失去(或获得)血量(或蓝量)时,血量(蓝量)的减少(增加)会通过血条绿色(蓝条蓝色)区域的减少直观显示出来,上面显示的具体数值也会发生相应的变化。

  点击左上角的角色头像,可以打开角色属性面板,显示角色的等级、攻击力、防御力等数值,背包中则显示角色拥有的药品以及数量。在第三轮迭代中我们可能会加入装备系统,实现装备的更换。

  在town的scene中我们设置了三个NPC,走近NPC并按下空格,将弹出NPC的对话框,设置了交谈、function、离开三个功能,function根据角色进行交互的NPC而定,可以强化装备、购买药品、休息(回复生命值)。目前function我们还没有设置,在第三轮加入战斗系统时同步实现。

角色属性

  我们在游戏角色的CSharp脚本实现了角色的血量currentHealth、蓝量currentMana、攻击力Attack、防御力Defend、等级Level。在本轮迭代中,我们可以通过按下J键模拟角色等级的成长以及攻击力和防御力随着等级成长的变化。在第三轮迭代中,我们会加入角色的经验值exp,当角色获得的exp达到升级所需的exp后,角色的等级将增加。

第三轮迭代计划

  第三轮迭代将实现我们预期的所有功能,将该游戏全部完成。大致有如下任务:

  我们找到了一个更好的角色模型,该角色模型有三个技能而且动画需要的图片,我们将在第三轮迭代中将角色进行替换并完成技能的动画制作。技能的动画制作原理:将技能动画的图片逐帧倒入一个Animation,调整动画播放的速度,即可形成一个完整动画的制作。

  战斗系统的实现,副本中加入怪物,使用即时战斗系统,当打败一个副本中的boss后可开启下一个副本,若死亡则从上次的存档继续进行游戏。

  优化UI,目前一些UI还不够完善,我们会将UI做的更加完善、交互性更好。

  解决游戏中的黑线问题,目前在地图上进行行走时有时会出现一些黑线,很影响游戏画面的美观性。我们会尽可能排除这个问题(有可能是我们的图片素材导致的)。

猜你喜欢

转载自www.cnblogs.com/program-progress/p/11992841.html
今日推荐