UE4学习笔记 FPS游戏制作29 更换武器时更换武器的图标

文章目录

制作物体图标UI

在Fpp-UI上添加一个图片,改名为五weaponIcon,勾选SizeToContent,锚点放在右下角,对齐改为1,1,这样缩放时会向左上扩张

代码修改Image的图片

这里GetIcon是下一步中创建的方法,核心节点是使用Image的引用GunIcon调用SetBrushFromTexture节点

这里出现了GetCurrentGun获取不到枪的情况,但是在早期编辑时是可以获取的到的,猜测是编译后执行顺序发生了改变,解决方案是在GameMode里,把生成UI推迟一帧

添加获取武器图标的方法

在武器的基类Gun里添加一个纯方法GetIcon,返回值为Texture2d的引用

在Rifle里重写

在launcher里重写

使用事件分发器,通知UI要换枪

定义事件分发器

只有玩家换枪时才需要更换图标,所以只改Fppshooter

在Fppshooter左侧我的蓝图里最下边定义一个事件分发器

点击分发器的名字,不要双击进去点图标,直接在列表里点名字,增加一个输入参数,类型Texture2D的引用

调用事件分发器

在switchWeapon方法的最后追加调用事件分发器 call Change Gun Dispatcher

注册事件分发器

打开Fpp_UI蓝图的事件视图

序列0为旧的获取玩家引用的方法,最后追加了先获取一次武器图标的方法

序列1里为注册事件分发器

1 玩家的引用,事件分发器需要使用发出事件的对象注册

2 绑定事件的方法 bind event to Change Gun Dispatcher

3 用来注册的自定义事件,右键输入custom,选择添加自定义事件

4 武器图标的图片,调用它的设置图片方法

此时运行游戏,按下Q键,切换武器的同时,也可以切换图标

相关推荐
MartinYeung55 小时前
[论文学习]自主性如何重塑个性化对LLM智能体隐私关切与信任的影响
人工智能·学习
FellAveal7 小时前
【Go语言入门学习笔记】Part18.工作池与WaitGroup(也即协程池)
笔记·学习·golang
xqqxqxxq7 小时前
Java Socket 多人聊天室(私聊+群聊)技术笔记(V4版本)
java·网络·笔记
菜鸟‍7 小时前
【论文学习】MICCAI 2024 || SGSeg:通过自引导机制实现胸部X光片语言引导分割的无文本推理
人工智能·深度学习·学习
龙仔7257 小时前
人大金仓OS_Core数据库自动备份实施笔记(银河麒麟Linux)
linux·数据库·笔记·备份·人大金仓
lazy H7 小时前
Git clone 怎么用?克隆项目及常见问题完整教程
大数据·git·后端·学习·搜索引擎·github
菜鸟‍7 小时前
【论文学习】arxiv 2024 || RoSIS:基于鲁棒框架重新审视文本提示式手术器械分割
人工智能·学习·计算机视觉
笨鸟先飞的橘猫8 小时前
只会脚本语言的游戏后端自我提升之路——c++学习(开篇)
学习·游戏
Z5998178419 小时前
c#软件开发学习笔记--Modbus-RTU通讯
笔记·学习·c#
绿浪19849 小时前
async/await 深入学习
学习