0

我编写了一个脚本来重置游戏对象的位置,如果它通过触发体积。该脚本在大多数情况下都有效,因此很棒。

然而,有问题的物体在重置到其起始位置后仍保持其动量。

我添加了注释行,我认为这会在重置位置之前从对象中移除任何速度。没有这样的运气。

注释行抛出一个错误,我试图控制没有刚体组件(触发器本身)的对象的速度。

我不知所措。如何影响物体 Ball 的刚体?

    #pragma strict

var Ball : GameObject;
var getStartPosition;

function Start () {
    yield WaitForSeconds (0.25);
    Ball = GameObject.Find("Ball");
    getStartPosition = Ball.GetComponent(startPosition).setStartPosition;
    Debug.Log("getStartPosition is set to: "+getStartPosition);
}

function Update () {

}

function OnTriggerEnter (Ball : Collider) {
        //Ball.rigidbody.AddForce(-rigidbody.velocity, ForceMode.VelocityChange);
        Ball.transform.position = getStartPosition;
}
4

1 回答 1

0

似乎该RigidBody组件属于球。随着-rigidbody.velocity您尝试访问触发器的速度。试试Ball.rigidbody.velocity吧。

顺便说一句,我认为您可以简单地将两者都设置为零,velocity而不是对其施加力。angularVelocityRigidBody

于 2013-08-17T18:37:50.747 回答