2011-11-29 21 views
1

プレッシャープレートに移動したときにボックスがゲートを開くパズルを作成しようとしました。私がプレッシャープレートの上にボックスを置くと、私はゲートにブールを渡そうとしていました。これは私の目標を達成する正しい方法ですか?オブジェクト共有の間のブーリアンブール

私は統一バージョン3.4を持っています。それはプロではなく、私はC#でコーディングしています。

私は単調さを学び始めたばかりなので、助けてください。

答えて

0

のは、あなたのゲートゲームオブジェクトは、階層ビューでマジックゲート名前を持っており、次のコードを含むGateControllerタイプの割り当てスクリプトコンポーネントがあるとしましょう:他のクラス多分GameStatusControllerがあり

public class GateController : MonoBehaviour { 
    // Awake(), Update(), ... 
    public void OpenGate(); 

    public void OpenGate() { 
     // code for opening the gate 
    } 

あなたはボックスが魔法のプレッシャープレートにあることを検出します(このためのコライダーは便利です)。あなたはそうです:

GameObject player = GameObject.Find ("MagicGate"); 
GateController gateController = player.GetComponent<GateController>(); 
gateController.OpenGate(); 
+0

ありがとうございます。 GameStatusControllerを階層内の何かに割り当てることができますか、スクリプトを何も割り当てずに実行できますか? – Dave

+0

ゲームのオブジェクト階層へのフルアクセスが必要で、適切なタイミングに頼らなければならない場合は、それらを割り当てる必要があります。他のすべては私が外に置いておく。 Non-MonoBehaviourクラスを持っていて、それをUnityコントロールの下で他の人が呼び出せるようにしてもよいでしょう。 – Kay

関連する問題