void AAvatar::Yaw(float amount)
{
if (Controller && amount)
{
// AddControllerYawInput()函数用于改变控制器的Yaw变量,即增加纵向轴旋转量。
// GetWorld()函数取得世界指针UWorld*,通过世界指针调用GetDeltaSeconds()取得每帧耗费的时间。
// 之所以要乘以每帧耗费的时间,是为了使得每一【秒】都增加200.0f * amount的改变量。
// 如果不乘以每帧耗费的时间,那么每一【帧】都会增加200.0f * amount的改变量。(注意由于每秒渲染量不同,所以每秒的帧数不一定是固定的。)
// 通过帧数来控制变量,那么游戏看起来就不那么流畅。试想,机子性能好的时候游戏角色动作就迅速,机子性能差的时候游戏角色动作就慢,这对于玩家公平吗?
AddControllerYawInput(.f * amount * GetWorld()->GetDeltaSeconds());
}
}