网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月08日漏签0天
ue4吧 关注:26,810贴子:82,633
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 16回复贴,共1页
<<返回ue4吧
>0< 加载中...

求助在控件蓝图中多按键触发事件怎么实现

  • 只看楼主
  • 收藏

  • 回复
  • 守丶空城
  • 小有美名
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
比如我想在鼠标光标停留在控件中时,同时按下键盘Alt和鼠标右键实现后面的事件。


  • 贴吧包打听
  • 默默无闻
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
在Unreal Engine 4的控件蓝图中,要实现在鼠标悬停在控件上时同时按下键盘Alt和鼠标右键触发特定事件,可以按照以下步骤进行操作:1. 首先,在蓝图编辑器中创建一个新的`Widget蓝图`,并在其中添加一个自定义的`Button`控件。2. 在`Button`控件的详细信息面板中,将`Pressed`事件连接到一个自定义的函数或事件中。这个函数或事件将处理当鼠标悬停在按钮上时同时按下键盘Alt和鼠标右键的情况。3. 在这个函数或事件中,你可以使用`Get Actor from Context`节点来获取当前的玩家角色。然后使用`Get Player Input Manager`节点来获取玩家的输入管理器。4. 使用`Makesurebbospauseall》NotPaused`节点,将所有游戏逻辑设置为不暂停状态。这样可以确保在按键事件触发时不会影响其他游戏逻辑。5. 接下来,使用`Get Mouse Manager`节点获取鼠标管理器,并使用`Is Hovering over Actor`节点检查鼠标是否悬停在按钮上。将这个节点与一个条件语句(如`If`节点)结合使用,以判断鼠标是否悬停在按钮上。6. 在条件语句中,使用`Get Alt Key Pressed`节点检查是否同时按下了键盘Alt键。使用`Get Right Mouse Button Pressed`节点检查是否按下了鼠标右键。将这两个节点与逻辑运算符(如`And`节点)结合使用,以确保只有当鼠标悬停在按钮上且同时按下键盘Alt和鼠标右键时才触发后续的事件。7. 在条件语句的`True`分支中,添加你想要执行的动作或函数。例如,可以播放声音、改变字体颜色、字体大小等等。8. 最后,将这个函数或事件返回或输出到需要的地方,例如`Pressed`事件的返回值,或者连接到一个更大的逻辑网络中。请注意,以上步骤是一个简单的示例,可能还需要根据你的具体需求进行调整和完善。例如,你可能需要在不同的场景或条件下触发这个按键事件,或者需要处理其他类型的输入事件等等。


2025-08-08 02:02:10
广告
不感兴趣
开通SVIP免广告
  • 守丶空城
  • 小有美名
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
有没有一起学ue引擎开发游戏的小白,可以加好友一起努力,互相进步,本人自学虚幻引擎4两个多月了


  • 贴吧包打听
  • 默默无闻
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
回复3楼楼中楼吧友 @守丶空城🔥 :在UE4的控件蓝图中,要实现多按键触发事件,你可以按照以下步骤进行操作:1. 首先,确保你已经在蓝图中创建了一个按钮控件。你可以在蓝图编辑器中的空白区域右键 点击,然后选择添加组件,添加一个按钮控件。2. 在按钮控件的详细信息面板中,找到“Button Styles”选项卡,并选择“Pressed”事件。这个事件会在按钮被按下时触发。3. 接下来,你需要创建一个自定义的函数来处理多按键触发事件。在蓝图编辑器中,右键 点击空白区域,选择“Create New Function”。给函数取一个名称,并在“Function”选项卡中选择“Blueprint Executable”。4. 在这个自定义的函数中,你可以添加你需要的逻辑来处理多按键触发事件。例如,你可以使用`Get Actor from Context`节点来获取当前的玩家角色,然后使用`Get Player Input Manager`节点来获取玩家的输入管理器。5. 使用`Makesurebbospauseall》NotPaused`节点,将所有游戏逻辑设置为不暂停状态。这样可以确保在按键事件触发时不会影响其他游戏逻辑。6. 在函数中,使用`Get Mouse Manager`节点获取鼠标管理器,并使用`Is Hovering over Actor`节点检查鼠标是否悬停在按钮上。将这个节点与一个条件语句(如`If`节点)结合使用,以判断鼠标是否悬停在按钮上。7. 在条件语句中,使用`Get Alt Key Pressed`节点和`Get Right Mouse Button Pressed`节点来检查是否同时按下了键盘Alt键和鼠标右键。将这两个节点与逻辑运算符(如`And`节点)结合使用,以确保只有当鼠标悬停在按钮上且同时按下键盘Alt和鼠标右键时才触发后续的事件。8. 在条件语句的`True`分支中,添加你想要执行的动作或函数。例如,可以播放声音、改变字体颜色、字体大小等等。9. 最后,将这个自定义函数连接到按钮控件的“Pressed”事件中。你可以直接拖拽函数的蓝色线条到“Pressed”事件中,或者右键 点击“Pressed”事件,选择“Add Event for This Action”。通过以上步骤,你就可以在UE4的控件蓝图中实现多按键触发事件了。记得根据你的具体需求进行适当的调整和修改。希望对你有所帮助!


  • 贴吧包打听
  • 默默无闻
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
回复5楼楼中楼吧友 @守丶空城🔥 :在UE4的控件蓝图中处理多个按键同时触发事件的问题,可以按以下步骤进行操作:1. 在控件蓝图中,使用`Event Toggle`节点来创建自定义的事件。例如,为每个按键创建一个`Event Toggle`节点,并设置它们的`Event`为相应的按键按下事件(例如`E_ButtonPressed`事件)。2. 创建一个新的`Event Toggle`节点,并将其`Event`设置为`E_ButtonPressed`。这个节点将用于检测鼠标按下按钮的事件。3. 连接所有按键的`E_ButtonPressed`事件到这个新建的`Event Toggle`节点的子节点。这将使得当多个按键被同时按下时,这个新建的节点会被触发。4. 在这个新建的`Event Toggle`节点的子节点中,你可以连接任何你希望在多个按键被同时按下时执行的逻辑。至于你提到的函数重载里的鼠标按下时事件触发不了的问题,这可能是因为你在处理多个按键的同时触发事件时,阻止了其他事件的传播。在这种情况下,你需要在处理多个按键的同时触发事件后,手动触发鼠标按下事件。具体操作如下:1. 在处理多个按键的同时触发事件的逻辑结束后,使用`Event Toggle`节点的`Get Active`属性和`Cast To Button`节点来检测哪个按钮被激活。2. 使用`Call Function`节点调用`OnMouseDown`函数,以手动触发鼠标按下事件。至于`makesurebbospauseall`节点,这是UE4的内建函数,用于确保所有的动画或过程被暂停。你可以在函数面板通过关键词搜索找到它。这个节点的使用场景一般是在你需要暂停所有其他操作,以便专心处理某个特定任务时。不过请注意,这是一个C++函数,可能并不适用于所有的蓝图情况。以上只是一些基础的解决思路,你可能需要根据你的具体需求进行适当的修改和调整。如果你还有其他问题,欢迎继续提问。


  • 贴吧包打听
  • 默默无闻
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
回复5楼楼中楼吧友 @守丶空城🔥 :在UE4的控件蓝图中实现多个按键同时触发事件,可以按照以下步骤进行操作:1. 创建一个自定义的事件。在左侧的“事件图”中,右键单击空白区域,选择“创建自定义事件”。将事件命名为适合你需求的名称,例如"MultipleButtonPressed"。2. 创建多个布尔型变量,用于代表各个按键的状态。在左侧的“变量”面板中,右键单击空白区域,选择“添加新变量”,并为每个变量设置一个名称和类型(布尔型)。这些变量将用于记录各个按键的状态。3. 为每个按键创建事件。在右侧的“细节”面板中,选择“按键”选项卡,并为每个按键设置一个事件。这些事件可以是按键按下或按键释放事件,根据你的需求进行选择。4. 将按键事件连接到自定义事件。在左侧的“事件图”中,找到相应的按键事件节点,并将其连接到刚刚创建的自定义事件的节点上。5. 在自定义事件的节点中,使用条件语句来检查多个按键的状态。你可以使用“与”节点(AND)或“或”节点(OR)来实现多个按键的同时触发条件。根据你的需求选择相应的逻辑。6. 在条件语句的输出节点中,可以连接任何你想要执行的操作或函数。这些操作或函数将在多个按键被同时按下时被执行。至于你提到的`makesurebbospauseall`节点,这个节点是用于暂停所有动画或过程的执行。在UE4的控件蓝图中,你无法直接找到该节点。它是UE4内部使用的节点,通常在动画蓝图或游戏逻辑中使用。如果你需要暂停某些操作或过程,你可以根据自己的需求编写相应的逻辑来实现类似的功能。


  • 贴吧包打听
  • 默默无闻
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
回复5楼楼中楼吧友 @守丶空城🔥 :非常抱歉,我之前的回答可能有些误导。在UE4的控件蓝图中,没有名为"Get Mouse Manager"或"MakeSureBbospPauseAll"的节点。我在之前的回答中提到的这些节点可能是在其他上下文或蓝图类型中使用的。在UE4的控件蓝图中,要实现多个按键同时触发事件,可以按照以下步骤进行操作:1. 创建布尔型变量:在左侧的“变量”面板中,右键单击空白区域,选择“添加新变量”,并为每个变量设置一个名称和类型(布尔型)。这些变量将用于记录各个按键的状态。2. 创建按键事件:在右侧的“细节”面板中,选择“按键”选项卡,并为每个按键设置一个事件。这些事件可以是按键按下或按键释放事件,根据你的需求进行选择。3. 创建自定义事件:在左侧的“事件图”中,右键单击空白区域,选择“创建自定义事件”。将事件命名为适合你需求的名称,例如"MultipleButtonPressed"。4. 连接按键事件和自定义事件:在左侧的“事件图”中,找到相应的按键事件节点,并将其连接到刚刚创建的自定义事件的节点上。你可以使用“与”节点(AND)或“或”节点(OR)来实现多个按键的同时触发条件。5. 在自定义事件的节点中,使用条件语句来检查多个按键的状态。你可以使用“与”节点(AND)或“或”节点(OR)来实现多个按键的同时触发条件。根据你的需求选择相应的逻辑。6. 在条件语句的输出节点中,可以连接任何你想要执行的操作或函数。这些操作或函数将在多个按键被同时按下时被执行。请注意,UE4的控件蓝图主要用于处理UI控件相关的事件和处理逻辑。如果你需要在游戏逻辑或其他蓝图类型中处理多按键触发事件,可能需要使用不同的方法和节点。


  • 贴吧包打听
  • 默默无闻
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
回复8楼楼中楼吧友 @守丶空城🔥 :在UE4的控件蓝图中,要处理多个按键触发的事件,可以使用“Key State”节点和“Bind”节点配合实现。下面是一个简单的示例流程:1. 在控件蓝图中创建一个“Key State”节点,它将检测按键的状态。2. 将“Key State”节点的输出连接到要执行的操作的输入端。3. 创建一个“Bind”节点,并将其连接到“Key State”节点的按下事件上。4. 在“Bind”节点的细节面板中,将按下事件拖动到节点网格中,并将其连接到要执行的操作用户自定义的事件或函数上。5. 重复步骤3和步骤4,绑定其他按键的按下事件。对于第二个问题,在UE4中创建按键事件时,需要在细节面板中设置按键的按下事件。具体步骤如下:1. 在蓝图中找到要添加按键事件的节点,并在细节面板中选择要添加事件的输入端。2. 将输入端拖动到节点网格中,然后选择“Bind”节点。3. 在“Bind”节点的细节面板中,将按下事件拖动到节点网格中,并将其连接到要执行的操作用户自定义的事件或函数上。4. 在“Bind”节点的细节面板中,选择要绑定的按键。通过以上步骤,就可以在UE4中创建多个按键触发的事件了。


2025-08-08 01:56:10
广告
不感兴趣
开通SVIP免广告
  • 贴吧包打听
  • 默默无闻
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
回复9楼楼中楼吧友 @守丶空城🔥 :在Unreal Engine 4中,你可以使用控件蓝图(Widget Blueprint)来处理多个按键同时触发的事件。我将尝试用最简单的方式解释一下这个过程。首先,你需要了解在UE4中,"Key State"并不是一个预设的节点或者属性,它是一个概念。我们可以通过使用各种节点和属性来检测一个键的状态(例如,按下,释放,切换等)。以下是一个基础的例子说明如何通过蓝图处理多个按键同时触发的事件:1. 打开你的控件蓝图,并在事件图中添加一个`Event Tick`节点。这个节点会在每一帧中更新,并且可以用来检测按键的状态。2. 在`Event Tick`节点的子节点中添加一个`Ultralight`节点(或`Lightweight`节点)。这个节点可以用来检测特定的键是否被按下。为了做到这一点,你需要将这个节点的`Key`属性设置为你想要检测的键。3. 接着,你可以在`Ultralight`节点的子节点中添加一个`StateMachereference`节点。这个节点的功能是创建一个状态机,你可以使用这个状态机来处理不同的键状态。4. 你可以在`StateMachereference`节点的子节点中添加不同的状态。例如,你可以添加一个状态表示按键被按下的状态,以及一个状态表示按键被释放的状态。5. 你可以在每个状态中添加相应的处理代码。例如,当按键被按下时,你可能想要触发一个事件。你可以通过右键点击状态节点然后选择"Add Transition"来添加转移,通过设置条件和动作来转移状态。6. 最后,你可以通过将你的按键绑定到这个状态机,来让这个按键按照你定义的行为进行操作。为了做到这一点,你需要使用一个`Bind`节点(在"Bind"类别下)。将你的按键绑定到这个状态机上之后,你就可以通过按和释放这个键来控制你的状态机了。在这个过程中,你可能需要反复试验和学习才能熟练掌握这个过程。对于初学者来说,这可能会有些复杂。但是不要担心,学习一个新的工具总是需要时间的。希望这个答案对你有所帮助!


  • 贴吧包打听
  • 默默无闻
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
回复9楼楼中楼吧友 @守丶空城🔥 :非常抱歉,我的回答可能引起了误解。在UE4的控件蓝图中,实现多按键触发事件实际上要涉及到蓝图编辑器中的一些基本概念和节点。首先,关于你提到的节点,它们不是我自己命名的,而是UE4蓝图编辑器中的标准节点。1. `Event Tick`:这是在每帧都会执行的事件,通常用于实时更新或检测按键状态。2. `Ultralight`:这是一个用于检测特定键是否被按下的节点。你可以设置它的Key属性来检测不同的键。3. `StateMachineReference`:这个节点用于引用一个状态机,状态机可以用于管理不同按键状态的转换。接下来,关于多按键触发事件,你可以按照以下步骤实现:1. 在蓝图编辑器中,创建一个新的变量节点,例如命名为`KeyState`,并选择适当的数据类型(例如`Int32`)。2. 在`Event Tick`节点的子节点中,创建一个`Ultralight`节点并设置其`Key`属性为你要检测的键。3. 添加一个`StateMachineReference`节点,并创建一个新的状态机(在State Machines类别下)。状态机的具体创建方式可以参考UE4官方文档或相关教程。4. 在状态机中,创建不同的状态来表示按键的不同状态(例如按下、释放等)。在这些状态中,你可以添加相应的处理代码,例如触发某个事件。5. 将`Ultralight`节点的输出与状态机的输入相连,以根据按键状态转换不同的状态。6. 在需要检测多个按键的情况下,可以创建多个`Ultralight`节点来检测不同的键,并将它们与状态机的输入相连。关于自定义事件和命名节点的问题,UE4蓝图编辑器确实提供了自定义事件的选项。你可以在变量节点上右键点击并选择"Add Custom Event",然后为事件命名。自定义事件可以用于触发某些特定条件下的行为。希望这些解释能够对你有所帮助!如果你还有其他疑问或需要进一步的帮助,请随时提问。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 16回复贴,共1页
<<返回ue4吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示