【星火进阶教程01-定制化数编节点】 定制自己的伤害效果节点 + 伤害计算流程简述

精华修改于2023/11/17824 浏览主题教程

一、前言

1.对于一个“正常”游戏

作者总是会有属于自己的一套伤害类型, 而星火官方只给出了一个简易的模版伤害效果节点,这显然是不够的;

2.可能得场景

我希望我造成的某个伤害 可以 与自身的属性挂钩,同时又能方便直接在编辑器上填写,而不是写在伤害公式里,然后每次还必须打开公式界面再看自己的写的如何。

3.正确的做法

应该是规划一套属于自己的伤害体系,然后把这套体系转换为定制为自己的伤害效果节点,目的就是做到:1、界面整洁 2、统一管理 3、定制化伤害计算。

4.目前功能

好在,目前已经可以定制化大部分种类的数编节点,下面我们以伤害效果节点为例做演示,其他的可以参考执行。
TapTap
最终数编效果
伤害效果节点传递的伤害实例数值为:基础10 + 随机0 + 攻击*(0.5+0.1*装备等级)

二、 定制化的伤害效果节点

1.数编类型编辑器的初始化

TapTap
注意打开
TapTap
注意打开
TapTap
找到触发编辑器左上角的【数编类型数据】
找到【数编类型数据】之后,在【数编节点类型数据】中创建一个伤害效果节点,继承关系如下:
TapTap
这里要注意的是:继承节点,只是继承类的结构,不会继承他的执行效果,执行效果必须手写
TapTap
我们以我自己写的一个全能伤害效果节点为例
TapTap
TapTap
TapTap
TapTap

2.写可执行效果

TapTap
一图流
1.点击左边的全能伤害效果节点,弹出右边的一堆东西
2.刚打开的时候是空的,勾选上“可执行节点”
3.重要语句:
  3.1 创建效果节点数据表:将效果节点的数据表进行格式转换,类型为自身节点类型
  3.2 获取伤害的基础数值,用的是原有节点官方封装好的获取伤害值函数(这个函数会自动计算基础值+随机值)
  3.3 遍历我们有关属性列表的节点属性:这里比较复杂的是公式类型的数值获取,这个要用到函数,可以参考图中的结构进行(第一次一定比较不熟练,中间存在细节)
  3.4 最后直接用触发造成伤害

3.伤害计算流程简述

从我们开始创建一个伤害开始,不管是触发器创建的还是伤害节点创建的,其实是一个概念,在底层代码中,他会按一定的流程进行走,每次走的时候,一般至少会带上原有 伤害节点对象+伤害实例对象。
其中逻辑比较复杂,希望看的可以参考底层伤害计算源码。
我们可以在多个地方进行监听这个流程中的环节,比较重要一下几个,同时他们按一定的顺序走
这对于严谨的作者来说,十分重要!!!!
第1: 默认游戏全局机制配置-自定义伤害公式(等同于覆盖了官方的伤害计算公式)
第2: 数编-伤害响应节点和受到伤害响应节点(多个相同的响应节点,仍然存在顺序关系)
第3: 触发编辑器的造成伤害(受到伤害)时监听的事件
所以当你要在各个环节处理伤害逻辑的时候,需要非常清楚他是在哪个阶段处理的,假如:你有一个减少5点伤害的护盾,你想让他在伤害计算的最后一个环节来处理,那么就要在触发编辑器里写相应的逻辑(前提是你3个监听的流程都有相应的代码)
[表情_斜眼笑]
好了,先就随便写点,因为这部分内容实际比较复杂,肯定存在纰漏如果有问题,可以群里@我,然后如果发现不对的地方,后面修改。。
20
28
9