C++ 如何在ure4.7中为StaticMeshComponent添加OnClicked事件?
嘿,我一直试图在运行时单击StaticMeshComponent,但无法单击特定的StaticMeshComponent。我尝试了下面的逻辑来单击并设置OnClick()函数中的材质,但没有成功。AddDynamic方法正确吗??C++ 如何在ure4.7中为StaticMeshComponent添加OnClicked事件?,c++,unreal-engine4,C++,Unreal Engine4,嘿,我一直试图在运行时单击StaticMeshComponent,但无法单击特定的StaticMeshComponent。我尝试了下面的逻辑来单击并设置OnClick()函数中的材质,但没有成功。AddDynamic方法正确吗?? In.cpp 你们能帮我解决这个问题吗,或者给我一个有效的逻辑来解决我的问题 注:游戏模式:鼠标点击模式我刚刚做了一个快速测试,一切正常。也许我使用的步骤可以帮助您: 1、推出UE4.18;创建一个新的C++项目,包括基本代码、桌面/控制台、最大质量,并且没有启动内容
In.cpp 你们能帮我解决这个问题吗,或者给我一个有效的逻辑来解决我的问题
注:游戏模式:鼠标点击模式我刚刚做了一个快速测试,一切正常。也许我使用的步骤可以帮助您: 1、推出UE4.18;创建一个新的C++项目,包括基本代码、桌面/控制台、最大质量,并且没有启动内容
2,添加一个播放器控制器C++类,使用默认构造函数显示鼠标光标,并启用点击和鼠标过事件< /P> < p > 3,打开项目生成的C++游戏模式类,并使用默认构造函数将默认播放器控制器类设置为新类
4,编辑项目设置使用C++游戏模式类(映射和模式->默认模式->默认GAMMODED)
< P> 5,添加一个新的带有一个单击函数的典当C++类,它只需将消息记录到输出日志中,并将该函数注册到默认构造函数OnClicked.AddUniqueDynamic(this, &AMyCharacter::OnSelected);
< P> 6,添加从我的C++典当类派生的蓝图类,并将其<>强>立方体(静态网格组件)< /强>添加到其组件中,然后<强>在其详细面板中检查“隐藏在游戏中< <强> >。
或如果要使用角色的默认碰撞配置文件
Pawn
接收单击的事件
,可见性
必须设置为块
(项目设置->引擎->碰撞->预设->典当->跟踪类型->可见性)
严格的方法是添加新的跟踪通道
,用于点击测试,请参阅此视频的更多详细信息:
7,将我的一个蓝图兵放在玩家面前的场景中
8、玩关卡,点击我的blueprint Pawn类的立方体,查看输出日志,看到消息出现
主要代码:
字符内构造函数
OnClicked.AddUniqueDynamic(this, &AMyCharacter::OnSelected);
在头字符中
UFUNCTION()
void OnSelected(AActor* Target, FKey ButtonPressed);
在AMyCharacter.cpp中
void AMyCharacter ::OnSelected(AActor* Target, FKey ButtonPressed)
{
GEngine->AddOnScreenDebugMessage(-1, 2.f, FColor::Cyan, FString("EEEEEEEEEEEEEEEEE"));
}
void AMyCharacter ::OnSelected(AActor* Target, FKey ButtonPressed)
{
GEngine->AddOnScreenDebugMessage(-1, 2.f, FColor::Cyan, FString("EEEEEEEEEEEEEEEEE"));
}