2013-08-17 75 views
0

我已經寫了一個腳本來重置遊戲對象的位置,如果它通過觸發器體積。這個腳本大部分都適用,所以這很好。如何讓觸發器影響觸發對象的剛體組件?

但是,有問題的對象在重置到開始位置後仍保留其動量。

我添加了註釋行,我認爲這會在重置位置之前從對象中移除任何速度。沒有這樣的運氣。

註釋行會拋出一個錯誤,我試圖控制沒有剛體組件(觸發器本身)的對象的速度。

我不知所措。我如何影響球體的剛體?

#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; 
} 

回答

0

看起來RigidBody組件屬於球。 使用-rigidbody.velocity您正試圖訪問觸發器的速度。 改爲嘗試Ball.rigidbody.velocity

順便說一句,我認爲你可以簡單地設置爲velocityRigidBodyangularVelocity爲零,而不是向其施加力。

+0

這樣做,謝謝! – SlemHundy