43-实现蓝图类之间的交互







实现蓝图类之间的交互

  • 添加输入控制中的操作映射:Fire

  • 但是注意:Actor 无法接受输入事件

  • 自定义事件的添加:自定义事件可以让功能分成块,可以在蓝图内部直接调用,也可以实现跨蓝图调用,还可以通过触发事件的方式调用

  • 在枪蓝图中添加一个自定义事件

  • 在玩家蓝图中定义一个枪蓝图类型的变量,当玩家碰撞到枪后,玩家蓝图持有枪蓝图

  • 当执行 Fire 事件时,执行枪蓝图中的自定义事件

实现


打开编辑器,在 编辑 > 项目设置 > 输入

操作映射 中添加 鼠标左键 的操作映射

进入 Player_BP 玩家蓝图中,创建 Fire打印输出 节点,测试是否映射成功

编译后运行

正常输出

进入 Gun_BP 枪支蓝图,添加 自定义事件

连接到一个 打印输出 节点以确认是否正确执行

进入 Player_BP 玩家蓝图,创建一个变量以存储 Gun_BP 枪支的对象,并将变量类型改为 Gun_GP 的对象引用

回到 Gun_BP 节点,从 类型转换为Player_BP 节点的 As Player BP 输出处拖线到空白处,添加 设置Gun 节点

右键空白处添加 self 节点

self 输出连接到 设置Gun 节点的 Gun 上,并将其他线连接

回到 Player_BP 节点,在空白处添加 Gun 变量到空白处,并从输出处拖线到空白处添加 shoot ,将其余线连接

编译后运行

但是如果在没拿到枪之前,按下鼠标左键会获得报错

因为没有拿到枪支之前,无法找到枪支的对象,需要在 Player_BP 中的调用节点之前设置判断

Gun 处添加不等于判定并连接到分支,判断是否为空,为空则不执行

本章节涉及到了 面向对象 思维和 封装,需要一定的编程基础


暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇