APlayerController* controller = UGameplayStatics::GetPlayerController(this->GetWorld(), 0);
FRotator Rotation = Controller->GetControlRotation();
Controller->SetControlRotation(Rotation.Pitch + amount*5, Rotation.Yaw, Rotation.Roll);
错误 C2660,函数不接受 3 个参数
SetControlRotation
需要 1 个 FRotator
类型的参数,而不是 3 个单独的旋转分量(俯仰、偏航、滚动)。
这就是你得到的错误的含义(
error C2660, function doesnt accept 3 arguments
)。
您可以通过聚合 3 个组件来创建 1
FRotator
对象来修复此问题,如下所示:
Controller->SetControlRotation(
//--------------------vvvvvvvv--------------------------
FRotator(Rotation.Pitch + amount*5,
Rotation.Yaw,
Rotation.Roll));
请注意,虽然
FRotator
由 3 个组件组成,但它与单独给出的 3 个组件不同(从 C++ 的角度来看)。