【Unity3D开发⼩游戏】《战棋⼩游戏》Unity开发教程
⼀、前⾔
这次想要做的⼀个⼩游戏,或者说⼀个⼩Demo,其实是⼀个简单且传统的战棋战⽃场景。初步的设计是:在2D世界⾥创建⼀张由六边形地块组成的战⽃地图,敌我双⽅依据体⼒在地图上轮流⾏动并向对⽅发动攻击,先消灭掉所有敌⼈的⼀⽅将获得胜利。
这⼀辑将⽐上⼀辑的内容更简单,但完成后会是⼀个功能较完整且可以玩耍的Demo。
我使⽤的Unity版本是2018.2.7,但是其实并没有⽤到2018的任何新功能。
⼆、Github地址
三、正⽂
预计将分为以下⼏篇:
1、创建战场
阴阳师桌面版一直数据加载中根据预定尺⼨⽣成战场地图,并随机⼀些障碍物。
2、添加对战双⽅
向战场中添加作战单位,作战单位可被点选,并进⾏移动。
手机网站无法打开网页3、战场逻辑
作战双⽅按照顺序依次⾏动,可进⾏移动、攻击。
4、添加战场UI
添加可以随时显⽰战况的Hud、为作战单位添加⾎条等。
5、扩展作战单位
丰富作战单位的类型,添加职业,并加⼊若⼲不同类型的技能。
6、扩展战场地图
丰富战场地图,加⼊地形及道具等元素。
7、规范战⽃配置
可以通过规范化的数据结构配置战场、职业、技能、道具等。
mysql的多表查询语句⼀、创建战场
| ⽬标
⽣成⼀个规定尺⼨的战场,战场上的格⼦均为六边形,并且暂定两种格⼦类型:普通格⼦和障碍格⼦。
| 在开始之前我做了以下事情
1.创建了新的⼯程。
2.新建场景并保存在场景⽂件夹下。
3.删除默认创建的平⾏光,调整场景光照设置,弃⽤了天空盒等。
4.将相机调整为正交相机。
因为是从零点五开始系列,认为读者有⼀定的Unity引擎使⽤基础,就不对这些操作进⾏介绍了。
| 创建战场地图localtime只取时分
我没有采⽤把数据和显⽰捆绑在⼀起的做法,⽽是将数据和显⽰分离。
游戏辅助框架免root我的思路是⽤⼀个战⽃创建器来创建战⽃,⼀场完整的战⽃信息⾄少应包含地图及对战双⽅的信息。⽽Unity搭建的战⽃场景则可以理解为⼀场战⽃的显⽰器。
| 数据部分(主要)
战⽃数据:地图尺⼨,包含所有格⼦的⼆维数组。
格⼦数据:格⼦类型,所在⾏列,所在空间坐标。
| 显⽰部分(主要)
战场:⼀个⽤于组织所有格⼦对象的节点对象。
格⼦对象:⼀个能显⽰六边形⽡⽚的2D渲染器,并根据格⼦类型改变颜⾊。
当需要将战⽃表现出来时,需要将以上数据装⼊⼀个⽤于显⽰的“战场”,这个战场就是在Unity世界⾥创建的。
| 在Unity中创建战场
⽬前战场的结构还⾮常简单,只需要⼀个组织格⼦单位的节点。
| 创建格⼦
创建⼀个格⼦脚本,并挂在⼀个新创建的空对象上。
为这个空对象添加⼀个⼦对象,称之为⽡⽚,⽤来显⽰⼀个六边形。
因为这⾥我只想做⼀个2D的Demo,因此我们只需要⼀个SpriteRenderer组件即可。
使⽤预先准备的⼀张六边形图⽚作为地块显⽰,⼀个格⼦对象就做好了。
为了区分普通和障碍,暂定普通格⼦为⽩⾊,障碍格⼦为灰⾊。
| 部分代码
铺设普通格⼦
qt运行时打不开数据库
随机放⼀些障碍格⼦
战场根据格⼦信息,显⽰格⼦
格⼦根据不同类型显⽰不同颜⾊
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论