UE5 c++ 常用方法

文章目录

创建一个组件

cpp 复制代码
capsule = CreateDefaultSubobject<UCapsuleComponent>(TEXT("Capsule"));

设置一个组件为根物体

cpp 复制代码
SetRootComponent(capsule);//参数,组件的指针

将一个组件设置为另一个组件的子物体

cpp 复制代码
birdMesh->SetupAttachment(GetRootComponent());//参数1 父组件的指针,参数2 父组件的插槽名,默认值为没有插槽

绑定一个按键

首先在项目设置/引擎/输入/轴输入 里添加一个输入

然后需要创建一个pawn类,这样才会有绑定输入的函数

创建一个和输入匹配的函数

cpp 复制代码
void ABird::MoveForward(float Value)//普通方法即可,不需要标记为UFUNCTION
{
	UE_LOG(LogTemp,Warning,TEXT("Value:%f"),Value);
}
// Called to bind functionality to input
void ABird::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)//pawn类自带的可以绑定输入的函数
{
	Super::SetupPlayerInputComponent(PlayerInputComponent);
	PlayerInputComponent ->BindAxis("MoveForward", this, &ABird::MoveForward);//绑定输入
}

玩家移动

//配合上方的输入方法

cpp 复制代码
void ABird::MoveForward(float Value)
{
	if ((Controller != nullptr)&&(Value!= 0.f) )//Controller 由 pawn提供
	{
		FVector Forward = GetActorForwardVector();
		AddMovementInput(Forward,Value);//pawn提供
	}
}

此外,还要求Pawn添加一个movementInput组件,pawn不自带这个组件

相关推荐
Miao121315 小时前
微服务 API 测试实践:海外某民宿平台如何构建模式驱动测试基础设施
java·开发语言
CRMEB系统商城6 小时前
开源自建还是SaaS订阅?算一笔3年经济账
java·大数据·开发语言·开源
王维同学7 小时前
[自学][Windows C++]RunOnceEx 注册表分组键的安全遍历
c++·windows·安全·开源
keyipatience7 小时前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
weixin_408099678 小时前
2026 图片去水印 API 接口完全指南:一键去除图片水印(附 Python/Java/PHP/C# 示例)
java·python·php·图片处理·api调用·图片去水印·石榴智能
Scott9999HH8 小时前
告别流量波动玄学!从法拉第电磁定律到底层 C/C++ 流量累积算法,深度解密工业级电磁流量计选型与开发
c语言·c++·算法
钱六两8 小时前
#3、SpringAI 接入deepSeek大模型(喂饭版)
java·spring boot·ai编程
脱胎换骨-军哥8 小时前
C++/Rust无缝互操作:混合系统新常态
开发语言·c++·rust
null_179 小时前
IntelliJ IDEA 极致流畅配置方案:Ultra 9 285K + 64GB 内存实测
java·ide·intellij-idea
Herbert_hwt9 小时前
建立Java程序开发
java·开发语言