(1) 基础的战斗实现 - RE:从0开始的RPG游戏制作
0/基本结构
在上一章我们已经想好我们要做什么事了,那么从现在开始就要落实下去。根据我们之前的设想,战斗部分的逻辑可以用这张图来表示。
乍一看在玩家眼中确实是这样的,我们不妨想的更详细一些,把buff之类的东西考虑进去,之后我们就能得到下面这张图
虽然这个流程图还没有详细到我们实际实现的部分,但是我们可以根据这个流程图来搭建一个框架
1/战斗管理器
根据我之前那堪称贫瘠的项目经验,把逻辑与数据分开是最好的实现方式。这种思想就有点类似于工厂模式,我们在定义好“战斗工厂”以后,每次想要开启战斗就让“战斗工厂”去“生产”一个出来就好了。
所以我们要创建脚本Script\System\BattleManager.cs
来实现。
强烈推荐在创建代码的时候,预先设计好项目的目录结构,不然代码多了之后就会非常折磨人
所以我比较推荐的目录结构是下面这样
1 | D:\U3DPROJ\RPG\ASSETS |
这里我就直接贴出代码,之后再一段一段讲解
1.0/枚举定义
首先我们要将一些枚举提前定义下来
1 | using System.Collections; |
1.1/角色定义
分析我们先前的系统设计,对于角色
,我们大体能得出以下图
1 | // Assets\Scripts\DataDef\RoleData.cs |
1 | // Assets\Scripts\DataDef\Role.cs |
1.2/技能定义
1 | using System.Collections; |
1 | using System.Collections; |
1.3/Buff定义
1 | using System.Collections; |
1 | using System.Collections; |
1.4/行动条管理
1 | using System.Collections; |
1.5/战斗管理器
1 | // Assets\Scripts\System\Battle\BattleManager.cs |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment