SRPG游戏开发(三十一)第八章 游戏中的数据 - 一 创建新项目(Create New Project)

本文档介绍了在SRPG游戏开发中如何创建数据项目,重点关注战斗属性和可用武器。首先,讨论了数据描述,如生命值、攻击力和防御力等基本数值数据。接着,详细阐述了创建新项目“SRPG_Datas”的步骤,包括在Unity中创建项目并复制必要文件。随后,讨论了通用战斗属性,如力量、防御和速度,通过枚举和结构体表示,并实现了获取属性的索引器。最后,讨论了可用武器的概念,解释了武器等级与角色职业的关系,并展示了可用武器结构体的设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

返回总目录

第八章 游戏中的数据(Data in Game)

在之前的章节中,我们进行地图对象的生成,移动等操作。

这一章本来可以进行战斗的编写,不过数据缺失是一个问题。

所以这一章我们先来建立一些数据,以及如何编辑它们,是否需要生成配置文件等。



一 创建新项目(Create New Project)

这一小节,我们来创建一个新项目专门处理数据,并且添加一些必要的结构。


1 数据的一些说明(Data Description)

我们先来谈谈数值型的数据,数值型的数据在游戏中是最为常见的,就算只是一个小游戏也包含类似分数这样的数值。同样的,我们的SRPG游戏也包含许多数值数据。

SRPG中常见的基本数值数据:生命值,魔法值(怒气,能量等),攻击力,防御力。

当然,我们上一章移动所用的移动力也是数值型的,还有攻击范围等。

这些静态数据的存储方式有多种,可以直接在Unity中保存成ScriptableObject,也可以保存成配置文件(txt, xml, json, csv等)。我们的大部分数据拿xml作为本次配置文件,少部分其它。

SRPG也是RPG,所以它们很近似,甚至相同。在RPG游戏的战斗中,最常用的属性计算就是角色属性与物品属性(武器和装备等)结合,在SRPG中也同样是这样。且职业同样限制了使用的武器种类。不过每种游戏都有细微的差别,在战斗情况中典型的是:

  • 《火焰之纹章》系列:武器损坏或没有武器无法进行攻击,攻击范围和武器有关;同时魔法(魔法书)也归类为武器,而不是技能;武器都有耐久度,耐久度归零后武器损坏或降低大量战斗属性;游戏中只有被动技能。

  • 《新神奇传说3》《曹操传》等:攻击范围(攻击和技能)和人物或职业有关。

  • 《机器人大战》系列:攻击范围只与技能有关,且技能类似于《FE》系列的武器,只是把耐久换成了弹药,弹药使用完不能进行攻击,也有无限弹药的技能(比如近战技能)。

以上只是举了一些例子,可能表达有误,但都大同小异。


2 创建项目(Create Project)

好了,说了这么多,我们来创建一个新项目来完成数据上的编辑。

打开Unity,创建新的项目并命名为“SRPG_Datas”。

1 create new project

由于我们需要用到主工程的少部分东西,所以复制主工程的如下文件到新工程:

  • ClassType.cs

  • WeaponType.cs

  • TerrainType.cs

  • MoveConsumptionInfo.cs

并加入我们的基础框架(见第六章):

  • Framework_Library.dll

  • Framework_Library_Editor.dll


3 通用战斗属性(Common Fight Properties)

项目已经创建好了,说回来我们的游戏,我们的数据模板参考《FE4》,先来看战斗属性。

在战斗属性中,有些属性在各个地方都存在,比如“力量(STR)”,“防御(DEF)”或“速度(SPD)”等,在人物,武器和升级属性中都存在,这样的属性我们单独建立一个枚举与结构体表示。

战斗属性枚举(FightPropertyType.cs):

using System;

namespace DR.Book.SRPG_Dev
{
   
    [Serializable]
    public enum FightPropertyType : int
    {
   
        /// <summary>
        /// 力量
        /// </summary>
        STR = 0,

        /// <summary>
        /// 魔力
        /// </summary>
        MAG = 1,

        /// <summary>
        /// 技巧
        /// </summary>
        SKL = 2,

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值