UE4信息交互-通过中间变量进行信息交互
来源:互联网 发布:12315投诉淘宝店铺 编辑:程序博客网 时间:2024/06/05 19:10
UE4版本 4.8.1
UE4信息交互-通过中间变量进行信息交互
在上一节中讲到在蓝图类之间-通过公共变量来调用变量的局限性比较大。
现在可以通过一个中间桥梁来引用变量。
通过这个桥梁就可以对引用的变量做相应的设置.
一般这个桥梁选择[Pawn]类型(ThirdPersonCharacter)
这样就可以在[ThirdPersonCharacter]类创建一些变量就可以其他地方使用。
因为[ThirdPersonCharacter]类对象是一直存在。
一、选择[ThirdPersonCharacer]角色类
左边选中[ContentBrower]->[ThirdPersonCharacer]->[Blueprints]->[ThirdPersonCharacer]角色类
1>双击[ThirdPersonCharacer]角色类
或者选中场景中的人物,然后选择右边[Details]->[EditBlueprint]下接框中的[OpenBlueprintEditor]打开人物图表
图1
二、在[ThirdPersonCharacer]类对象中创建变最
点击[Variables]->[+]
创建变量,更名为[TheTestB]并设置[TheTestB]变量类型为[BP_TestB]设置为[public]
创建变量,更名为[TheTestA]并设置[TheTestA]变量类型为[BP_TestA]设置为[public]
[TheTestA]变量设置与下图类似,保存并编译。
图2
三、回到场景中选择[ThirdPersonCharacer]人物
在场景右边[Details]选项卡中,会看到[Default]下有[TheTestB]、[TheTestA]两个变量.
图3
四、为[TheTestB]、[TheTestA]两个变量设置相应的对象
可以通过快捷方式来设置,通过拾取器来设置。
择选变量后面的拾取器后,点击相对应的对象实例。
图4
图5
五、设置完变量后,就可以在任何类中使用。
可以在[BP_A]类中来调用并设置这两个对象。
通过一个方法来设置这两个物体的位置。
打开[BP_A]类图表.
在[Event Graph]图表中添加方式,设置[TheTextA]延Z轴移动100
1>首先要找到中间的桥梁[ThirdPersonCharacer]
鼠标右键选择[GetPlayerPawn]方法.这个方法是全局方法,可以在任何类中调用。
这样就可以获取索引为0的角色。
图6
2>[GetPlayerPawn]返回的类型为[Pawn]类型
[Pawn]是[Characer]的基类,[Characer]是[ThirdPersonCharacer]的基类
图7
3>需要将[Pawn]通过CastTo方法强制转换为[ThirdPersonCharacer]子类
图8
图9
4>[CastToThirdPersonCharacer]方法有转换成功与失败的情况
成功:如果[ThirdPersonCharacer]是[Pawn]的子类就为成功。
失败:如果不是就是转换失败
然后通过[CastToThirdPersonCharacer]->[AsThirdPersonCharacer]找到变量[TheTestA]
图10
图11
5>这样就是通过中间桥梁来找到相就变量。
这样就可以设置变量[TheTestA]向上移动100
通过键盘[G]键,来触发事件.
需要选择菜单[Class Default]->[Input]->[AutoReceiveInput]选择[Player0]
这样才能接收键盘事件。当按下G键时,[TheTestA]实例向上移动。
图12
图13
6>以同样的方式去设置变量[TheTestA]向上移动100
图14
7>当按下键盘[G]键和键盘[H]键时两个物体都相应的向上移动
图15
- UE4信息交互-通过中间变量进行信息交互
- 12. UE4中的信息交互
- UE4信息交互-蓝图类中的信息交互
- UE4信息交互-蓝图类之间的信息交互
- UE4信息交互-GetAllActorsOfClass遍历搜索
- UE4信息交互-关卡蓝图内的交互
- UE4信息交互-蓝图类与关卡对象的信息交互
- UE4信息交互-蓝图类与关卡蓝图的信息交互
- UE4信息交互-命令行执行自定义事件ConsoleCommand
- UE4信息交互-关卡蓝图引用关卡中的对象
- unity用PUN进行信息交互模块
- AJAX进行前后台信息交互
- 如何利用Java获取进程的信息(通过tasklist和cmd与Windows进行交互)
- 数据库数据表交互信息
- FS信息交互
- C#窗体信息交互
- FLEX和java web通过blazeds交互信息的实例
- 使用java.net进行Android和服务器信息交互
- SDM For Face Alignment 流程介绍及Matlab代码实现之训练篇
- Leetcode # 94 Binary Tree Inorder Traversal
- springmvc 下使用自定义注解获取登录信息
- Titanium跨平台的移动端技术
- Notepad++中常用的插件
- UE4信息交互-通过中间变量进行信息交互
- 云存储FSS使用规范
- 二叉树题目
- 机器学习入门-了解相关概念
- SDM For Face Alignment流程介绍及Matlab代码实现之测试篇
- 面向对象笔记
- 使用PullToRefresh实现下拉刷新和上拉加载
- Dijkstra最短路径算法详解
- 双链表:实现基本的增删查改,正反向现实双链表的节点