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()); } }