当前位置: 首页 > article >正文

UE4_用户控件_9_用按钮来控制播放动画

祝愿大美兰陵越来越好。

一、效果展示:

二、用户控件的编辑

1、新建控件蓝图,更名为UMG_Animation。

2、双击打开编辑UMG_Animation。拖拽图像,更名为background,调整参数。

效果如下:

3、再拖拽一张图像作为logo,可用UE4logo。

4、为上面的图像新建个材质,更名为M_Logo_2。

双击打开进行编辑,设置材质域为用户界面,这样就可以作为图像使用。还需要不透明度的参数,所以把混合模式更改为已遮罩。

材质节点就变成这样的了

添加纹理采样节点,选择ue4logo

5、把材质赋予图像。

效果如下图:

6、拖拽个水平框用于存放水平方向上的一排按钮。

效果如下图:

7、在水平框中放2个按钮。如下图:

调整参数,样式如下图:

8、动画面板中添加动画,更名为Scale。

轨道上添加图像名为logo的图像

给图像的变换制作关键帧动画

关键帧添加如下:

缩放关键帧数值变化:(1.0,1.0)—>(0.9,1.5)—>(1.0,1.0)。

9、动画面板中继续添加动画,命名为Bounce。

还是对图像logo进行处理:

10、现在来进行用户控件事件图表的编辑。

选择ScaleButton按钮,添加点击时事件

我们需要用2个布尔变量来控制下现在到底是在缩放还是在弹跳

情况分类如下:

(1)当正在缩放时,单击ScaleButton按钮时,停止播放缩放动画。

(2)当没进行缩放时,单击ScaleButton按钮时,播放缩放动画。

另一个按钮单击事件类似,不在陈述。

 三、我们需要一个角色

1、新建个父类为pawn的蓝图类。更名为BP_Image_Character。

2、这个角色只是用于观察场景,并与场景中的物体相碰撞用的,所以不需要骨骼网格体,

3、但是我们需要响应键盘和鼠标事件,可以把第三人称角色复制过来,这样角色就能移动了。

4、我们需要角色与胶囊体不同实例碰撞时创建不同的用户控件,所以这里得需要一个用户控件类得引用型变量。

5、我们自定义一个显示控件的事件

发现控件类图类的引用和用户控类引用不兼容,修改变量类型。

我们需要添加到视口,同时设置输入模式。

6、同样我们需要一个把它清楚的自定义事件

7、因为所有控件的退出按钮是一样的,所以这里创建一个公共的退出按钮。

创建按钮的点击事件,当点击时调用角色的自定义事件clearwidget。

四、新建个GameMode

在 UE4 中,每一个世界(World)有多个 Level(关卡),而每个关卡又可以设定自己的 GameMode(游戏模式),从而控制游戏的玩法。

1、新建个GameMode。更名为BP_Gamemode。

2、设置游戏模式默认角色为BP_Image_Character。

3、关卡设置

项目设置不动

测试下:

无问题。

五、我们需要触发器

 1、新建一个actor蓝图类,

2、添加一个胶囊体碰撞

大小设置为:

3、添加事件Actor开始重叠事件

4、先检测一下是不是我们的角色碰撞的

5、如果是他的话,我们需要把创建的用户控件类的引用传递给角色的UMGClassName。好让角色知道应该创建的是谁。

这里同样需要一个这个类型的变量UMGClassName1

6、我们需要把用户控件类的引用给角色传递过去

7、因为这里的UMGClassName1,需要把这个触发器拖到场景中,根据它所在的位置来决定触发生成哪一个控件,所以不同的实例创建的控件是不同的,这样我们就需要根据位置来设置UMGClassName1的值,这样这个变量就需要公开。

变量为公有,就可在此蓝图的每个实例上进行编辑。

8、这样我们就可以调用显示控件的自定义事件了。

测试一下:

可以了,但是没有退出控件,没有鼠标,所以改进一下。

六、改进

角色中showwidget时,把退出控件加上

运行效果:

同时你会发现,当用户界面生成时,没有鼠标,角色还是到处跑,这样可以用变量进行控制。

清除控件的时候要隐藏鼠标

再添加个变量来控制当控件添加的时候,让角色不动。

测试:


http://www.kler.cn/a/460434.html

相关文章:

  • vue2、element的el-select 选项框的宽度设置、文本过长问题
  • Pytorch使用手册-DCGAN 指南(专题十四)
  • Windows 11 系统中npm-cache优化
  • Docker--Docker Container(容器) 之 操作实例
  • 爱死机第四季(秘密关卡)4KHDR国语字幕
  • C# 设计模式(结构型模式):代理模式
  • 评估可视化大屏效果除了震撼外,还有哪些衡量标准。
  • 20道Redis面试题核心技术知识点
  • 如何利用PEST分析法提升企业在行业竞争中的战略地位?
  • 【AR的手势识别算法有哪些】
  • 用户界面的UML建模07
  • C# 中 `new` 关键字的用法
  • 【超好用远程工具】跨平台SSH工具WindTerm免费开源
  • 25考研总结
  • Apache Commons Pool :介绍与使用
  • 再见24你好25
  • 计算机网络500题2024-2025学年度第一学期复习题库(选择、判断、填空)
  • C高级:思维导图
  • Kotlin Multiplatform 新纪元:klibs.io 与鸿蒙支持解锁跨平台开发新潜力
  • PTA数据结构作业四
  • 12.31【Linux】shell脚本【运行方式,修改环境变量,数组】思维导图 内附练习
  • Nginx1.20.2-Linux-安装
  • Jenkins 使用入门教程
  • 聊天机器人Rasa面试内容整理-Rasa 是什么?
  • VR动感单车身心调适系统产品特点
  • YK人工智能(三)——万字长文学会torch深度学习