上一篇在我们验证了MoveForward函数可以接收到我们W的键入。
接下来我们要设置在收到键入时,函数所进行的业务。
void ABird::MoveForward(float Value)
{
if ((Controller != nullptr) && (Value != 0.f))//控制器是空指针,且接收到的值不为0时
{
FVector Forward = GetActorForwardVector();//生明一个向量值接收向前向量的返回值
AddMovementInput(Forward, Value);//AddMovementInput是运动组件
//接收三个值,向前的向量,比例值和一个布尔决定是否持续
//接收Value的值,如果是正的则向前,0则不动,
}
}
设置完后在蓝图中添加一个浮点Pawn移动组件
一个向前移动组件就做好了
接下来在轴映射中设置向后移动(s)
再次运行会发现可以向后移动,这是因为改变了Value的值使AddMoventInput函数接收的值为负(反转了Forward的值)即AddMovementInput(Forward, -1);便向后移动。
在蓝图中我们可以设置移动的速度大小和加速度.