Unreal Engine 4 蓝图完全学习教程(六)—— 分支与开关

Ⅰ、控制的基础——“转移”与“循环”

  • 转移:通过确认程序状态,并据此执行不同处理的一种功能。
  • 循环:多次循环执行预先设置好的处理。

Ⅱ、分支(Branch)

分支就是通过检查某个值,然后根据结果来决定该执行两个处理中的哪一个,即所谓的“二选一”。

程序中有一种值,用于表示“是两个状态中的哪一个”,即“真假值”,在蓝图中为“布尔型”值。分支就是用于处理真假值的一项功能,通过检查真假值的值并根据值的状态来决定两者中的哪一个处理。

Ⅲ、分支节点

首先右击图表,在菜单中输入分支,“工具”内的“流程控制”项就显示出了“分支”选项:

 

 分支节点:

 创建的分支节点中有多个输入和输出项:

  • Condition:输入项目。在分支中用于连接要确认的值(真假值),旁边的复选框在未连接时默认为勾选状态,通过是否勾选复选框就可以进行分支。
  •  True/False:输出项目中预备有“真”“假”这两个项目,用于连接分支处理流程。“真”与“假”为真假值的值。真假值用于表示值的真假,Condition的复选框为勾选状态时,执行连接到“真”的处理,没有勾选时,执行连接到“假”的处理。

接着将“Begin Play”的exec输出项连接到“分支”的exec输入项,然后将“分支”的“真”连接到“Print String”的exec输入项:

 然后从工具栏单击“播放”图标运行程序。当分支复选框勾选时,Print String显示出文本;没有勾选时,不显示文本。

 Ⅳ、值的比较

在刚才的程序中添加对值进行比较的处理。右击图表,在出现的菜单中键入“=”,从检索出的项目中选择位于“数学”内的“整型”项目中的“Equal(integer)”选项:

 所创建的节点称为Equal节点,是表示等号(=)的节点。该节点可检查输入的两个值是否相等。蓝图中依据对象值的种类预备有多个Equal节点。本次使用的Equal(integer)用于比较整数值。

 Equal节点有两个输入项和一个输出项:

  • 两个输入项:用于连接两个比较对象值。
  • 输出项:用于将结果以真假值的形式输出。值为真表示两个值相等,为假不相等。

接着在Equal节点的两个输入项中填上相同的数字,然后将Equal节点连接到分支:

 

 

 接下来点击运行,程序通过“Equal”来检查两个值,二者相同的话将执行Print String:

 

 

 Ⅴ、能完成很多转移的开关

分支是使用真假值所做的转移,也就是“2选1”转移。而如果想“3选1”呢?

这时就需要用到“开关(Switch)”转移了。开关的转移数可以自行添加,只要你想,可以添加无数个。

Ⅶ、“开启字符串(Switch On String)”节点

接下来,将尝试使用字符串开关来制作一个“猜拳程序”。

首先,右击图表,在菜单栏中键入“switch on”,并选择位于“工具”内的“流程控制(切换)”项中的“开启字符串”选项:

 

 所创建的“开启字符串”节点:

 

该节点英文名称为“Switch On Switch”,意思是“以字符串替换”。也就是用字符串的值来替换。

开启字符串节点中有几个输入输出项:

  • Selection:用于连接检查对象值。可在旁边的文本框内直接填写文本进行设置。运行时,运行该值和右侧的项。
  • Default:找不到与Selection相同的项时运行。
  • “添加功能”链接:单击来添加转移输出项。默认状态为没有转移。

然后点击“添加引脚”选项添加3个选项,然后在右侧的细节面板中输入三种情况的名称:

 

接着,单击“我的蓝图”中“变量”处的“+”,创建一个名为“猜拳”的变量:

 

 并在右侧的细节面板中将变量类型设置为“字符串”,然后单击工具栏中的“编译”进行编译。编译后即可在“默认值”处填写“剪刀”、“石头”、“布”中的任意一个:

 

 然后就可以将该“猜拳”节点拖拽入蓝图中了,选择“获得”选项。再将“猜拳”节点连接到“开启字符串”节点,接着添加3个Print String节点,分别键入“剪刀”、“石头”、“布”,并连接起来:

 

 但是,当遇到与任何值都不匹配的情况时,就利用“Default”来创建相关的处理。

首先,将“猜拳”变量拖拽到图表中,并选择“设置”选项,并设置为“剪刀”:

改写原获得节点的默认值,使其不为剪刀、石头布中的任何一个,然后做如下连线:

 

 最终编译运行,因为指定的文本不为三者中的任意一个时,则均会输出“剪刀”:

 

 

posted @ 2020-05-05 23:41  星野妙  阅读(1530)  评论(0编辑  收藏  举报
//自动生成目录 //左下角音乐