RPG 游戏数值系统—1

  今天讲一下做RPG游戏一个插件—RPGStatCollection,RPG游戏最主要的就是我们所谓的一些数值,就像英雄联盟一样,你选择每个角色的时候如果不带天赋和符文进去,每个角色都是存在基本的数值的,例如攻击力,护甲,攻击速度,法术强度,魔法抗性,血量,冷却缩减等一些数值。所以我们出装备,合成装备都是对这些数值的操作,当然有了厉害的这些数值没有有效的操作也是无法驾驭一个游戏的。这里讲的数值系统是针对拥有复杂的人物属性的。先看一下插件的截图再介绍插件的具体用法。RPG 游戏数值系统—1_第1张图片

这是运行下的插件的可以看到cube绑定了一个RPGStatCollection里面包含了一下基本的属性 等级,当前经验,护甲,攻击力,法术强度,血量,可以看见血量和其他基本的属性有区别。这个插件最大的好处是它是可视化的,操作起来比较方便RPG 游戏数值系统—1_第2张图片

图中有3个选项,分别为StatColletcion,StateTypes,StatCategories,StaeCollection对应的是我们添加的一个角色的所以属性,例如一个英雄存在攻击力,而有些单位是没有攻击力这样一个属性的,所以这里需要对每个角色添加对应的属性,StateTypes属性是对一些基本属性的编辑RPG 游戏数值系统—1_第3张图片

基本属性编辑完成之后就生成对应的枚举类,添加了基本的属性之后就对具体的人物添加具体的属性,例如对剑圣添加护甲,魔抗,血量,蓝量等一些属性,对蛮族之王添加血量,护甲,魔抗,怒气等一些属性。给人物添加一些属性的时候,可以选择我们添加的属性的类别,可以是基本的类型,应用于修改器,链接属性,和OnValueChange类别,他们对应的意思是,基本类型和应用于修改器作用差不多,链接属性意义一个属性和另外一个属性存在一定的关系并且这个关系一定是线性关系,而修改器属性主要应用于一些存在范围的值,比如血量,血量有当前血量和满血时的总血量,因为总血量同时也可能会随着等级的变化而发生变化。RPG 游戏数值系统—1_第4张图片

所有的属性的值都只能是成线性变化,基本公式为y=kx+b,公式中k对应的slope的值,b对应的则是base value和offset的和这里为什么要这样 我还真没理解他的意义为什么要2个值得作用去带代替一个值得作用呢。后面继续讲一下具体怎么改变所有的属性及给出具体的插件代码。有需要的可以联系我 qq:1850761495

你可能感兴趣的:(面向对象编程)