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