AutoPossessPlayer = EAutoReceiveInput::Player0;
将该Pawn设置为玩家0。
该函数是已定义好的枚举函数。
namespace EAutoReceiveInput
{
enum Type
{
Disabled,
Player0,
Player1,
Player2,
Player3,
Player4,
Player5,
Player6,
Player7,
};
}
在输入中设置轴映射向前(MoveForward)
在Pawn头文件中声明这个函数,并接收一个float的值。
声明过函数后我们在设置玩家输入组件中设置刚刚的函数,玩家在游戏进行时,我们的前进功能会在每一帧中运行。
void ABird::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
{
Super::SetupPlayerInputComponent(PlayerInputComponent);
PlayerInputComponent->BindAxis(FName("MoveForward"), this, &ABird::MoveForward);
//this传递给函数其实是传递了一个指向这个鸟对象的指针,地址符后的字段必须使用完全限定名称
}
在MoveForward定义中,设置一个打印日志来显示我们MoveForward所接收到的值。
void ABird::MoveForward(float value)
{
UE_LOG(LogTemp, Warning, TEXT("Value:%f"), value);
}
设置这个Actor为默认操纵(玩家0)
开始运行后在输出日志中会显示
按下W后
代表系统接收到了我们的输入。