查看: 236|回复: 6

[引擎各个功能] 【菜单锚 | Unreal Engine】

[复制链接]

1

主题

273

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
73038
发表于 2016-6-25 18:47:24 | 显示全部楼层 |阅读模式


本页面的内容:

      
描述

详情

使用示例
     描述
此控件用于指定一个位置,弹出菜单将从此处调出并被锚定在此处。
详情
在已放置的 菜单锚 的 细节 面板中,有一系列与此控件相关并可以进行设置的特定选项:

DetailsPanel.jpg




选项
描述

菜单类调用菜单时生成的控件蓝图(弹出窗口)。每次都重新创建控件。布置几个布置选项,用于确定所创建的控件的位置。OnGetMenuContent通过将功能或属性绑定到 OnGetMenuContent 事件(调出弹出窗口时会调用该事件),实现对弹出窗口的自定义(请参阅下文)。OnMenuOpenChanged通过将功能或属性绑定到 OnMenuOpenChanged 事件(菜单的打开状态发生变化时调用该事件),实现对弹出窗口的自定义。
对于 OnGetMenuContent 事件,您可以直接从 详情 面板创建并绑定功能,只要调用菜单锚,就会调用该面板。这用于为弹出菜单的创建过程提供额外的功能。例如,下图我们运行了一项检查来确定玩家是否“正在战斗”,如果没有,则允许他们访问弹出菜单。如果正在战斗,则不允许他们访问弹出菜单。

ExampleGetMenu.jpg



蓝图功能
菜单锚控件拥有一些控件特有的功能,这些功能可以通过脚本进行调用,下文进行介绍。

MenuAnchorNodes.jpg




选项
描述

关闭如果菜单当前已打开,则关闭菜单。获取菜单位置返回菜单在世界空间中的位置。有打开的子菜单返回菜单是否有打开的子菜单。是否打开检查目标菜单锚当前是否已打开,并返回布尔值。打开如果菜单当前已关闭,则打开菜单。应在点击时打开返回菜单是否可通过点击打开。切换打开此功能可切换菜单的打开状态,并可以用于代替打开/关闭。使用示例
若您想要创建库存菜单并在玩家点击物品时显示弹出菜单,请参阅以下示例。

首先您要创建弹出菜单的外观。

PopUpDesigner.jpg



上图我们创建了一个简单的 控件蓝图,名为 MenuPopUp,它由垂直框以及其中的三个按钮组成。

接下来,需要为库存菜单创建另一个控件蓝图,下文我们将其称为 HUD。

MakeInventoryMenu.jpg



创建了库存菜单后,您还要添加 菜单锚 控件(位于 基元 下方)。

AddMenuAnchor.jpg



然后,将菜单锚放置在希望其显示的位置,在本例中,我们将其放置并锚定在右边/中间的位置。

PlacedAnchor.jpg



在菜单锚的 详情 面板中,设置 菜单类(或要生成的控件蓝图)及其布置选项。

MenuAnchorDetails.jpg



在“图表”选项卡上,为每个按钮添加 OnClick 事件,并拖动到菜单锚控件中。

拖动菜单锚,可以调用 打开 功能来打开并显示特定的菜单类。

HUD_Graph.jpg



选中 焦点菜单 选项时,会在菜单锚周围添加外框,这是一个可选项。

创建了库存菜单后,需要通过某种方式在游戏中调用该菜单。

可以选择通过 关卡蓝图 或(在我们的示例中)通过默认 Pawn 类(将其设为使用 MyCharacter 蓝图)调用。

DisplayingInventoryMenu.jpg



在上述 MyCharacter 蓝图中,当游戏开始时,我们创建 HUD 控件并将其保存为名为 HUDWidget 的变量,这样,我们就可以在以后访问该控件。然后,将 I 设置为在 Add to Viewport 和 Remove from Parent 之间切换,从而显示或隐去库存菜单。我们还将 Show Mouse Cursor 设为根据是否打开了库存菜单来启用或禁用。

最后,在 MenuPopUp 蓝图(您的弹出菜单)中,添加一些脚本,以便在玩家按下弹出菜单中的某个按钮时 关闭 菜单锚。下图中,当构建了弹出菜单后,我们 投射 它,然后将其提升为名为 MyCharacterReference 的变量,如此我们就得到了 MyCharacter 蓝图的引用。通过该引用就可以访问 HUD

PopUpMenuNetwork.jpg



您可能想要为弹出菜单中的每个按钮添加一些功能,在按下按钮时,会调用这些功能(而不是输出到屏幕上)。例如,按下第一个按钮“使用”库存中的物品,按下第二个按钮“丢弃”物品,按下第三个按钮“取消”操作并让玩家返回到库存菜单。

这只是一个示例,您也可以更改菜单锚开启的条件。除了按下按钮,也可以使用 IsHovered 功能来确定光标是否悬停在某个对象上,然后打开菜单锚和弹出窗口,以便显示工具提示或其他形式的通知。无论是哪种情况,您都可以开始通过脚本来实现使用菜单锚显示/隐去弹出控件。



   



   


      




   


      相关页面

  




       UMG UI 设计器用户指南








      样式设置








      槽




回复

使用道具 举报

0

主题

858

帖子

2835

积分

vip会员

Rank: 1

积分
2835
发表于 2016-7-2 19:21:44 | 显示全部楼层
看看这个得多少钱
回复 支持 反对

使用道具 举报

0

主题

875

帖子

2875

积分

vip会员

Rank: 1

积分
2875
发表于 2016-7-3 22:46:19 来自手机 | 显示全部楼层
谢谢楼主分享!回复看下
回复 支持 反对

使用道具 举报

0

主题

824

帖子

2714

积分

vip会员

Rank: 1

积分
2714
发表于 2016-7-4 11:16:53 来自手机 | 显示全部楼层
学习了,感谢分享
回复 支持 反对

使用道具 举报

0

主题

872

帖子

2905

积分

vip会员

Rank: 1

积分
2905
发表于 2016-7-7 08:54:10 | 显示全部楼层
不错的资源啊
回复 支持 反对

使用道具 举报

0

主题

893

帖子

2895

积分

vip会员

Rank: 1

积分
2895
发表于 2016-7-13 11:46:21 来自手机 | 显示全部楼层
这个支持了呀,不错,顶顶帖拿拿钱
回复 支持 反对

使用道具 举报

0

主题

889

帖子

2930

积分

vip会员

Rank: 1

积分
2930
发表于 2016-7-14 16:47:53 来自手机 | 显示全部楼层
这个是什么呢,看看看
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | enginedx注册

本版积分规则

 
 



邮件留言:


 
返回顶部