Tôi đang làm nhiều trò chơi hơn và hỏi những câu hỏi ngu ngốc hơn.
Hy vọng rằng điều này là rất ngắn gọn. Tôi đang tạo một lớp rất cơ bản, chỉ di chuyển một đối tượng Người chơi bằng cách tác dụng lực lên một người cứng nhắc, nhưng điều đó làm tôi băn khoăn, liệu tôi có nên tạo một tham chiếu lớp cho rb hay chỉ là một biến cục bộ trong Cập nhật mọi khung hình? (ghi nhớ rằng nó đã tồn tại trong lớp cha mẹ đơn nhất Monobehaviour.GameObject).
Tôi tự hỏi nếu thực hiện nhiều biến cục bộ sẽ làm chậm toàn bộ vòng lặp (theo ý tôi cục bộ bên trong hàm chứ không phải ở đầu lớp - hy vọng tôi sử dụng thuật ngữ chính xác).
Ý tôi là đây, hai cách tôi nghĩ khi làm nó:
public class Player : MonoBehaviour {
private void FixedUpdate()
{
Rigidbody rb = GetComponent<Rigidbody>();
float v = Input.GetAxis("Vertical");
rb.AddForce(v * rb.transform.forward * Const.walkForce);
}
}
hoặc là...
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);
}
}