作为红白机时代的经典unity游戏大战90坦克绝对算是年代表作品之一,今天我想用读取配置表的方式复刻一下这儿时的经典
首先将准备好的场景素材导入工程,将其中的砖牆的Tag设置为Wall草地Tag设置为Wall1,水墙设置为Wall2铁墙Wall3,并在每个物体身上添加Box Collider2D组件设置三个空节点,用来挂载敌人和玩家和子弹
上图中白色圖片为敌人生成点。
作为可拓展、可配置的坦克大战当然离不开配置表的设置你可以在配置表里面添加一切你想拥有的角色属性或道具屬性等等。
1.需要一个唯一ID来区别表中的数据方便索引;
2.需要等级来绑定显示和子弹类型;
3.需要图片名称,用来加载图片用;
4.需要子弹类型用来显示不同的子弹效果,及能打穿铁墙和不能;
1.需要一个唯一ID来区别表中的数据方便索引;
2.需要等级来绑定显示和子弹类型;
3.需偠图片名称,用来加载图片;
4.需要子弹类型用来显示不同的子弹效果,及能打穿铁墙和不能;
1.添加ID来方便索引;
2.添加图片名称,用来顯示道具外形;
(勤劳的我会告诉你就做了一个道具么?)
做好表格之后需要将表格放入Unity中读取,这中间我用了一个小工具将.xlsx格式的文件转化为TXT文本并放在了Assets根目下,然后用Json插件读取表格信息并写入字典当unity游戏大战中需要对应数据时new一个新的物体出来附上对应的值,从而获取动态数据代码方式如下:
//构造静态数据类,他们的组成与表格对应
// 初始化将表格数据写如字典
//获取TXT文本并赋值给对应的类,并返回T的类型值;
///建立构造函数获取静态数据
当数据获取完毕,场景载入开始时需要加载玩家角色,敌人角色道具信息等,并将他们对应的表信息转换成能随時调用的动态信息赋值给他们
简单的搭建好玩家模型设计玩家行为:
搭建好敌人模型,设置敌人Ai:
因为敌人和玩家基本雷同只是把玩家的输入换成了随机数所以不贴代码了。
搭建好道具模型設置其功能
因为只有一个道具模块小没有单独划分模块出来随机生成的体现在GamaMode脚夲中体现,玩家获取道具后消失在玩家功能中体现了
嗯,90坦克的主要玩法差不多也就时这些了而且所用的数据完全来至配置表,有兴趣的朋友可以自己研拓展可以增加一些道具啊,或者玩家属性什么的当然也可以加别的那就看你的脑洞了。
相关工程和插件已经上传github 鏈接 .
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。