0

Unity と C# は初めてなので、ご容赦ください。プレーヤーが自由に移動できるシーンがいくつかあり、そのうちの 1 つに、マウスをクリックしたときに非表示にするイメージ オブジェクトがあります。現在、それを非表示にするために使用する 1 つの imageobject にスクリプトを追加しましたrenderer.enabled = false;。プレーヤーがそのシーンに戻ると、それはもう隠れていません。これを行う正しい方法は何ですか?

//------編集部分-----------今は動作します:)

public static bool showIt = true;
    void Start () {
        renderer.enabled = showIt;
        print (showIt);
    }
    void OnMouseDown (){
        showIt = false;
        renderer.enabled = showIt;
    }
4

3 に答える 3

0

オブジェクトの状態を永続化するために静的変数を使用しないのはなぜですか? PlayerPrefs を使用することもできますが、最適な方法ではありません。静的初期化を使用して状態を記録するようにブール変数を設定してから、Start() メソッドを使用して変数を初期化し、値を設定します。LoadLevel() の前に、指定された変数 (またはそのルートに行く場合は PlayerPrefs.Set*) に値を永続化する必要があることに注意してください。Update() または OnGUI() または FixedUpdate() に固執すると、かなりのコストがかかることに注意してください。

于 2015-02-07T07:37:10.310 に答える
0

renderer.enabled = false の代わりに gameObject.SetActive(false) を使用しないのはなぜですか?

于 2015-02-06T14:32:41.333 に答える