- P40. 对象引用、变量有效性
- P41. 实现键盘控制物体自传
- P40
- 什么是对象引用
(问题:在之前类型转换里,如果要改变Third Person Character的许多属性,就要把引脚“As Third Person Character”拉出许多条线,非常麻烦)
对象引用的方法:
第1种.(一般用这个)从引脚“As Third Person Character”拉出一条线,“提升为变量”,此变量的类型将是“ThirdPersonCharacter”
第2种. 在左侧“我的蓝图——变量”,点“变量”右边的“+”号新建一个变量,然后在“细节——变量类型”修改为“Third Person Character”
- 什么是有效性(?Is Valid)
创建了变量引用之后,判断一个变量当前是不是有效的(为什么要判断有效性:上面创建了变量之后,一开始并没有被赋值;只有当执行过一次(白色的线),才被赋了值,是有效的;赋值之前 是一个空的变量)
- P41. 实现键盘控制物体自传
(让物体转起来;控制物体的旋转;实现小人和物体间的通信)
创建一个蓝图类Actor“物资自传_BP”
(蓝图类编辑器)添加组件“立方体”;按住 Ctrl 把组件列表中的 立方体 拖到“事件图表”;从“Cube”拉出一条线添加(工具集——变换——)“添加本地旋转”(搜索add local rotation),然后把这个节点的“delta rotation”的“z”值设为2(代表每次旋转 z值+2);
添加“事件tick”,“事件tick”的执行和“添加本地旋转”的执行相连(这样每帧都会执行一次旋转操作)
(到上面这一步,把立方体放到场景中,它就能转起来了)
- 创建布尔值控制旋转
事件图表 中添加“分支”(快捷键:按住键盘 B + 鼠标左键)
创建一个 bool型变量“是否可以旋转”(默认值不勾选,即不默认为是);按住 Ctrl 把这个变量拉到图表中,与“分支”的“condition”引脚相连
- 实现通过键盘控制自传(通过蓝图通信触发自定义事件)
添加“自定义事件”(控制旋转)、“FlipFlop”、两个设置变量“是否可以旋转”(上面一步创建的变量,按 Alt + 左键拉出来就是设置(直接拉出来再选设置还是获取也可以))
在小白人(ThirdPersonCharacter)的蓝图里 添加一个新的图表“控制物体自传”
在这个新的图表中添加“1”(键盘个事件——1;搜索“1”就能找到)(和键盘E的作用一样,区别就是一个按1一个按E(一开始我还以为是什么循环));创建一个“物体自传_BP”型变量“自我旋转引用”
ctrl 拉出变量“自我旋转引用”,添加节点(工具——)“?is valid”,节点(调用函数——)“控制旋转”,
(上图表示 当“自我旋转引用”有效时,才会触发“控制旋转”事件)
此时“自传物体引用”是个无效变量,怎么给它赋值呢?:
在左侧“我的蓝图”,把变量“自我旋转引用”右边的眼睛点开:
(然后去场景中选择这个变量具体是谁)单击关卡编辑器中的小白人,在“细节——默认——自传物体引用”,点右边的“吸管”一样的图标,之后选中场景中要自传的物体
然后再按键盘“1”就可以 开启/关闭 自传了 \(^o^)/~
标签:13,变量,物体,旋转,键盘,引用,UE4,自传 From: https://www.cnblogs.com/wjjgame/p/16829267.html