第八章 游戏中的数据(Data in Game)
在之前的章节中,我们进行地图对象的生成,移动等操作。
这一章本来可以进行战斗的编写,不过数据缺失是一个问题。
所以这一章我们先来建立一些数据,以及如何编辑它们,是否需要生成配置文件等。
文章目录
八 修改与测试(Fix and Test)
我们之前很多使用数据的地方都留了空,或者压根就没有写。
这里我们将补完一些,并且进行一下测试。
1 修改MapClass(Fix MapClass)
在MapClass中,我们存在Role(之前使用的是object)。
private Role m_Role;
public Role role
{
get {
return m_Role; }
}
我们还需要读取角色,修改Load函数:
/// <summary>
/// 读取信息
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public virtual bool Load(int id, RoleType roleType)
{
RoleModel model = ModelManager.models.Get<RoleModel>();
m_Role = model.GetOrCreateRole(id, roleType);
return m_Role != null;
}
2 修改MapGraph(Fix MapGraph)
在MapGraph中,我们在寻路函数public bool SearchMoveRange(MapClass cls, bool nAtk, out IEnumerable<CellData> moveCells, out IEnumerable<CellData> atkCells)(第七章 - 八 - 3中编写)中使用了角色职业的数据,而且之前的方法有一些小错误,这里修改一下。
/// <summary>
/// 搜寻移动范围与攻击范围
/// </summary>
/// <param name="cls"></param>
/// <param name="nAtk">是否包含攻击范围</param>
/// <param name="moveCells"></param>
/// <param name="atkCells"></param>
/// <returns></returns>
public bool SearchMoveRange(
MapClass cls,
bool nAtk,
out IEnumerable<CellData> moveCells,
out IEnumerable<CellData> atkCells)
{
moveCells = null;

本文是SRPG游戏开发系列的第八章,主要关注游戏中数据的修改与测试。作者首先指出了在地图对象操作和战斗编写中数据的重要性,然后详细介绍了如何填充和编辑缺失的数据,包括角色信息和职业数据的处理。通过修改代码,修复了寻路函数中的错误,并在测试文件中应用了这些改动。最后,文章提醒读者按照之前的测试流程再次进行测试,以确保修改后的代码正常运行。
最低0.47元/天 解锁文章
2673

被折叠的 条评论
为什么被折叠?



