Unity 5.1.2 刚体方法如何使用?
How to use the rigid body method at Unity 5.1.2?
using UnityEngine;
using System.Collections;
public class RigidBodyScript : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (Input.GetKey (KeyCode.UpArrow)) {
this.transform.rigidbody.AddForce() (
Vector3.forward * 300 * Time.deltaTime);
}
}
}
我看了一本书,尝试使用transform.rigidbody.AddForce()方法。
但是书的unity版本是以前的,所以在我的unity程序中那个方法在刚体上出错。
在Unity 5.1.2,如何使用这个方法?
rigidbody
属性 是 deprecated in recent versions of Unity。因此,使用 transform.rigibody
访问它们将不再有效。
您现在必须通过 GetComponent<Rigidbody>()
调用(或其他 GetComponent 变种之一)获取 Rigidbody 组件。
这就是 Unity 试图为您纠正的问题。但是它不能,因为您编写的代码首先不会编译。例如
this.transform.rigidbody.AddForce() (Vector3.forward * 300 * Time.deltaTime);
包含太多大括号。
这就是它告诉您的内容:"I'm trying to upgrade your code, but I can't"。
using UnityEngine;
using System.Collections;
public class RigidBodyScript : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (Input.GetKey (KeyCode.UpArrow)) {
this.transform.rigidbody.AddForce() (
Vector3.forward * 300 * Time.deltaTime);
}
}
}
我看了一本书,尝试使用transform.rigidbody.AddForce()方法。
但是书的unity版本是以前的,所以在我的unity程序中那个方法在刚体上出错。
在Unity 5.1.2,如何使用这个方法?
rigidbody
属性 是 deprecated in recent versions of Unity。因此,使用 transform.rigibody
访问它们将不再有效。
您现在必须通过 GetComponent<Rigidbody>()
调用(或其他 GetComponent 变种之一)获取 Rigidbody 组件。
这就是 Unity 试图为您纠正的问题。但是它不能,因为您编写的代码首先不会编译。例如
this.transform.rigidbody.AddForce() (Vector3.forward * 300 * Time.deltaTime);
包含太多大括号。
这就是它告诉您的内容:"I'm trying to upgrade your code, but I can't"。