首页 > 解决方案 > 如何在鼠标悬停时生成 Actor 并在几秒钟后自行销毁?

问题描述

我想在 3D 世界中生成瓷砖。我已经为鼠标点击生成了 BP,但我想添加一个“预览”(鼠标悬停时)它会在点击时放置的位置。

我尝试使用相同的技术进行预览。但我不确定我应该使用什么事件。

我尝试使用鼠标右键单击事件并且它有效,但这不是我的目标,因为那样我错过了“鼠标悬停”部分。

我厌倦了使用 Event Tick,但它似乎会导致破坏功能出现问题。而不是在 0.2 秒内产生瓷砖并摧毁它们,它只是不断地产生它们而不破坏它们。

EventTickBP WhatHappensOnPlay

标签: unreal-engine4unreal-blueprint

解决方案


这是错误的,只要使用/单击生成功能(您尚未制作)(根据游戏要求),使用轻质材料悬停的网格应始终显示。

然后鼠标右键单击事件应该用于生成实际的网格,并在单击鼠标时添加一点好的效果,悬停网格应该消失 1 秒的延迟并重新出现。

所以它应该如下所示: 1- Spawn 函数应该在鼠标下方创建一个空心网格。它应该与刻度函数没有关系。2- 鼠标点击事件应该产生实际的网格。它应该与 tick 没有关系,除了在需要时使用鼠标单击或 spawn 函数处理的条件查找您的中断结果。在 begin play 之后生成类本身应该有一个 destroy 函数。

尝试越来越少地使用刻度功能,并且仅在需要时使用条件。这将使您了解更多。Tick 运行每一帧并且很危险。学会有条件地驯服它。


推荐阅读