2017-10-19 10 views
-2

健康状態が0になったときに車を止めさせようとしています。私は解決策としてオンラインで見つけた後、この方法を使用しようとしましたが、まだ動作していないようです。私はまた、他のスクリプトがそこに頼っているので、gameObjectを破壊することはできません。健康状態が0になったときに凍結するキャラクタを取得する

public float health = 10; 

void OnCollisionEnter2D(Collision2D col) 
{ 
    if (col.gameObject.tag == "car") 
    { 
     Debug.Log ("Health: " + health); 
     health--; 

    } 
    if (health <= 0) { 

     gameObject.rigidbody.velocity = Vector3.zero; 

    } 
} 

}

+0

"ソリューションとしてオンラインで見つけた後、この方法を使用しようとしましたが、まだ動作していないようです。"それがうまく動作しないので詳細を提供することは難しいです – Sorceri

+0

上記の例は、私が使用しようとしたものです。 with gameObject.rigidbody.velocity = Vector3.zero;ユニティエンジンコンポーネントに「速度」の定義が含まれていないというエラーが表示されます。私は他に何を使うべきかを知らない。 –

+0

死んだ/凍った状態を作成する必要があります。そのため、車の状態を凍結状態にするOnCollisionでは、 車がフリーズしている場合は更新しても何もしません – Chopi

答えて

-1

私はそれを考え出した、と私は十分な情報を投稿していませんでした。私がしなければならなかったことは、プレーヤーのコントローラコードの中に健康コードを入れて、プレイヤーコントローラ全体にifステートメントを入れて、健康がゼロよりも大きいかどうかを判断することでした。誰かがより効率的なソリューションを持っているなら、教えてください。

関連する問題