ฉันสร้างเกมมากขึ้นและถามคำถามที่โง่กว่านี้
หวังว่าอันนี้จะสั้นมาก ฉันกำลังสร้างคลาสพื้นฐานที่เพิ่งย้ายวัตถุ Player โดยใช้กำลังกับคนที่แข็งทื่อ แต่มันทำให้ฉันสงสัยว่าฉันควรจะอ้างอิงคลาสกับ rb หรือเพียงแค่ตัวแปรท้องถิ่นในอัปเดตทุกเฟรมหรือไม่ (จำไว้ว่ามันมีอยู่แล้วใน Monobehaviour.GameObject ระดับผู้ปกครองสามัคคี)
ฉันสงสัยว่าถ้าทำหลายตัวแปรในท้องถิ่นจะทำให้วงทั้งหมดช้าลง (โดยเฉพาะที่ฉันหมายถึงในฟังก์ชั่นของตัวเองไม่ใช่ในชั้นเรียน - หวังว่าฉันจะใช้คำศัพท์ที่ถูกต้อง)
นี่คือสิ่งที่ฉันหมายถึงสองวิธีที่ฉันคิดทำ:
public class Player : MonoBehaviour {
private void FixedUpdate()
{
Rigidbody rb = GetComponent<Rigidbody>();
float v = Input.GetAxis("Vertical");
rb.AddForce(v * rb.transform.forward * Const.walkForce);
}
}
หรือ...
public class Player : MonoBehaviour {
Rigidbody rb;
private void Awake()
{
rb = GetComponent<Rigidbody>();
}
private void FixedUpdate()
{
float v = Input.GetAxis("Vertical");
rb.AddForce(v * rb.transform.forward * Const.walkForce);
}
}