UE4信息交互-通过中间变量进行信息交互
2015-08-06 00:24
525 查看
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信息交互-通过中间变量进行信息交互
在上一节中讲到在蓝图类之间-通过公共变量来调用变量的局限性比较大。
现在可以通过一个中间桥梁来引用变量。
通过这个桥梁就可以对引用的变量做相应的设置.
一般这个桥梁选择[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
相关文章推荐
- EL表达式从request和session中取值
- Rescue(bfs)
- UIPickerView和UIDatePicker的常见属性和方法,以及其代理方法和数据源方法(0806)
- 使用requestAnimationFrame实现js动画性能好
- android ui
- Request学习笔记
- 本地通知 UILocalNotification
- mysql数据库unique索引的添加与删除
- iOS开发--设置UIButton
- 2、快速排序(QuickSort)-C#实现
- uinavigationController和uiSrcoll以及uiPageControl的结合使用---小相册
- 利用uinavigattion实现简单的登陆界面
- Codeforces Round #250 (Div. 1) D. The Child and Sequence(线段树暴力)
- WPF QuickStart系列
- WPF QuickStart系列之附加属性(Attached Property)
- 利用AutoLayout uilabel文字自动适应大小,宽度
- UINavigationController
- 定制自己的Request
- HDU 4372 Count the Buildings(组合数学,第一类Stirling数)
- LIS UVA 10534 Wavio Sequence