当前位置:   article > 正文

UE4蓝图入门知识及UI制作控件事件_unreal level blueprint添加ui

unreal level blueprint添加ui

1.最常用的功能:显示鼠标

打开Blueprints->Open Level Blueprint,打开场景蓝图

调用Show Mouse Cursor,将Get Player Controller关联到它的Target里,点击Compile,再运行就可以看到鼠标显示在场景中的。

2. 场景中的actor接收鼠标点击事件:以入无论是Unity还是WebGL的项目,要做模型的点击事件就非常麻烦,通常的做法都是要用射线检测的方式,通常屏幕发射射线,与模型产生碰撞时才确定点击事件。但是UE里就相对比较简单了:先设置Enable Click Events

接着在场景中选中要响应事件的模型,右键Add Event->OnClick

 

这个时候会自动在场景蓝图中显示出点击事件:

响应一下点击事件,就打个log:

运行并点击模型看到屏幕上有成功打印出log

4. 创建UI,并响应UI的点击事件:

引擎左下角选中Content右键创建一个新文件夹,用来放UI资源

接着选中UI文件夹右键创建Widget BluePrint

命名为MyMainUI

双击打开UI蓝图,左侧就是UI的各种控件,和其他平台的大同小异了。

拖放一个Button到编辑器里:

接着选中Button,在编辑器右侧添加Button的点击事件:

会自动切换UI事件蓝图页面:

 这个时候还需要将UI加载到场景中显示,需要用到Create Widget方法:

返回打开场景蓝图,在启动事件Event Begin Play里添加启动时创建UI:

先添加Create Widget函数,接着再添加 Add to viewport函数。

 还要将Create Widget函数里的Select Class选择要刚刚创建的MyMainUI

运行查看效果:

 最后,要在场景蓝图里做逻辑处理的话,显然这种UI事件响应方式并不能满足需求,这个需要就需要用到一种类似于事件委托的方式来实现:

返回UI蓝图里,左侧添加自定义的EventDispatcer,然后在OnClick方法里添加Call命令

这里的添加方式是直接输入自定义的名字,例如我定义的是myButtonEventDispatcher,就会出来下面这些函数可引用了。

定义好后,可在场景蓝图里接收这个控件的事件委托:同样的道理,直接搜索自定义的名字,例如我定义的是mybutton,直接搜索mybutton即可出来Bind Event to My Button Event Dispatcher

 这个Bind Evnet to My Button Event Dispatcher里的Target 就是从My MainUI里得到,所以从它这里给到一条引线,如下图:

并且要Event里拉出引线并搜索 add custom event,创建新的响应事件。

创建好事件响应内容,保存并编译查看结果。

结果也能响应到点击事件,因此这种方式就能更加灵活地运行在项目开发中。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/83488
推荐阅读
相关标签
  

闽ICP备14008679号