OnTriggerStay(Collider other)
(ラダースクリプトで)関数を使用して、プレイヤーがはしごに登ることができるようにしています。関数を呼び出す方法を知りたい)を衝突したオブジェクトから削除します。colliderオブジェクトから変数または呼び出し関数を取得する方法
私は以下の解決策を試してみましたが、この文脈ではUnityは私にはそれが有効ではないと私に伝えています。誰かが解決策を提案できますか?
myObject.GetComponent<MyScript>().MyFunction(); //wrong
機能
void OnTriggerStay(Collider other) //Runs once per collider that is touching the player every frame
{
if (other.CompareTag ("Player")) { //A player is touching the ladder
//I want to get the isGrounded variable or getIsGrounded() function from other's playerScript.
if (Input.GetAxis ("Vertical") < 0) { // Player should go down
other.transform.Translate (0, -.1f, 0);
}
else if (Input.GetAxis("Vertical") > 0) //Player should go up
other.transform.Translate(0,.1f,0);
}
}
それはうまくいきますが、私は自分のはしごが完全に昇降するまで私のプレーヤーを人質にして欲しいです。もし私がはしごを降りようとしていると、私はそれを後方に歩いているので、私ははしごを落ちて本当に速く落ちるので、登山中にスクリプトを無効にしようとしていた!isGrounded。 –
現在の問題は、元の質問とは関係ありません。その問題の新しい質問を作成してください。 – Programmer