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 5.1.2中,如何使用这种方法?
答案 0 :(得分:1)
rigidbody
属性为deprecated in recent versions of Unity。因此,使用transform.rigibody
访问它们将不再有效。
您现在必须使用GetComponent<Rigidbody>()
调用来获取Rigidbody组件(或其他GetComponent变种之一)。
Unity正在努力为您解决这个问题。但是,鉴于您编写的代码不会首先编译,因此无法进行编译。例如
this.transform.rigidbody.AddForce() (Vector3.forward * 300 * Time.deltaTime);
包含太多大括号。
这就是它告诉你的:“我正在尝试升级你的代码,但我不能”。