变量和计算
1. 计算
1-1. 主要类型(这里主要为常用的数据类型)
变量用于保存场景中的对象或Actor的属性,类型分为数据类型和引用类型
- 布尔类型(数据引脚为栗色):表示true和false
- 整数(数据引脚为海绿色):表示-231~231-1之间的整数
- 浮点(数据引脚为黄绿色):表示带小数的数值
- 文本(数据引脚为粉色):用于向用户显示
- 字符串(数据引脚为洋红色):字母字符的组合
1-2. 加法计算
加法最基础的运算无非是两个数相加得到一个结果
1-2-1. 准备数据
使用如下节点输入两个整数作为加法的两个操作数,Ctrl + W
直接复制粘贴出节点
1-2-2. 准备运算方法
搜索整数加法的节点integer + integer
输入引脚分别代表两个加法操作数,输出引脚代表运算后的返回结果
运算节点的特殊之处在于其没有标题与对应的背景色
另外,注意到右下有添加引脚的按钮,这是用来在左侧输入端添加输入引脚的选项,增加了节点的通用性
1-2-3. 输入操作数
将数据输入,运算节点接受到3和4两个操作数
1-2-4. 输出结果
完整连接,游戏开始后会进行该加法运算,将结果7输出到屏幕
1-3. 四则运算
除去加法外,还有乘减除三种
乘法:与加法节点很像,也可以添加多个输入
减法:需要注意,减法有顺序要求,也不可扩展输入,第一个为被减数,第二个为减数
除法:与减法相似,顺序要求,不可添加引脚,第一个被除数,第二个除数,注意到目前整数的除法输出也为整数,也就是说只取结果的整数部分
1-4. 更加复杂的计算
求和:1~5的整数和,采用公式
(首项 + 末项)* 项数 / 2
1-4-1. 准备工作
结果最终需要输出,留下这个启动+输出的结构
需要输入的有首项,末项,项数3个从外界输入的值,准备3个Make Literal Int
节点,输入对应的值
1-4-2. 优先计算括号内的加法
首项与末项和计算完毕
1-4-3. 乘法
1-4-4. 除法
注意除数在下面的引脚
最后编译、运行,得到正确答案
1-5. 数学表达式节点
选中添加数学表达式节点
输入公式
自动生成对应的输入输出
双击节点可以看见其内部逻辑
表达式作为节点的名称,可以通过对节点重命名修改节点
现在使用这样的方式来计算之前的答案吧
这里会发现生成的表达式默认将数据类型变成浮点型(其实从颜色也能看出来)
2. 变量
在蓝图编辑器左侧
或者
可以进行变量的添加
这就是新添加的变量了
选中该变量后,可以看到编辑器右侧细节面板中的内容
2-1. 变量创建
修改变量名和类型
从左侧将设置好的变量直接拖入
选择Get
,显示变量节点
连接到输出上
现在的流程是屏幕会打印一个msg的String类型变量,因为没有为其赋值,会打印默认值
2-2. 为变量赋值
再拖一个msg变量,这次选择Set
该节点就可以为变量赋值了
进行完整连接
开始后直接打印变量,此时只能输出默认值,然后设置变量内容为“恭喜发财”,此时输出变量会打印“恭喜发财”
先输出默认值,而后输出“恭喜发财”,Print String
默认在上方输出
2-3. 实际应用变量
宝可梦捕捉率
捕捉率=(最大HP×3-当前HP×2) ÷(最大HP×3)× 精灵捕获率 × 精灵球修正 × 精灵状态 ÷ 255
如果说需要抓一只超梦
已知当前血量1%,精灵捕获率3,用的高级球,修正率2,精灵现在是麻痹状态,捕获倍率1.5
血量当前按百分比给出,可以将(最大HP×3-当前HP×2) ÷(最大HP×3)
化简成(1-2/3血量百分比)
2-3-1. 定义变量
注意,切换类型之后要编译,否则默认值可能转换错误
2-3-2. 创建表达式
按照变量名称组合公式
编辑器自动加上了括号区分了每一步
然后我们可以在原来的变量中的默认值部分替换上对应的值,编译,运行
只有3.5%左右,果然很低
这次公式直接使用了对应名称的变量进行了计算,公式中会检测当前的同名变量如果存在便直接使用