2017-11-22 11 views
0

ユニティインスペクタの他の変数の値に応じて変数を隠すにはどうすればいいですか?基本的にはこれを想像してください:もし私が "CanSprint"とフロート "SprintSpeed"と呼ばれるブールを持っていたら、ブールが真のときはフロートが表示されますが、ブールが偽のときフロートは隠れます。これはほんの少しちょっとしたことです。 ありがとう!他の変数の値に応じて変数を隠す方法ユニティインスペクタ

+0

どこからですか?どこにショー? – Programmer

+0

「隠す」とはどういう意味ですか? Intelisenseでは?あなたが2つのクラスを持っているかのように私には聞こえます。しかし、彼らはもちろん、同じ基本クラスを継承することができます。 – HimBromBeere

+0

ユニティ・インスペクタでタグを忘れてしまいました – Sinci1

答えて

2

カスタムエディタスクリプトを使用してカスタムエディタスクリプト(https://docs.unity3d.com/Manual/editor-CustomEditors.html)を調べる必要があります。カスタムエディタスクリプトを使用すると、いつでも変数を表示できます。こちらのリンクからの情報を使用してレイアウトです:

[CustomEditor(typeof(MyBehaviourClass))] 
public class MyEditorClass : Editor 
{ 
    public override void OnInspectorGUI() 
    { 
     // If we call base the default inspector will get drawn too. 
     // Remove this line if you don't want that to happen. 
     base.OnInspectorGUI(); 

     MyBehaviourClass myBehaviour = target as MyBehaviourClass; 

     target.myBool = EditorGUILayout.Toggle("myBool", target.myBool); 

     if (target.myBool) 
     { 
      target.someFloat = EditorGUILayout.FloatField ("Some Float:", target.someFloat); 

     } 
    } 
} 

は、「エディタ」フォルダ、変更にこのスクリプトを固執してください「MyBehaviourClass」あなたのクラスタイプ、あなたのフロートへの変更「someFloat」と「myBool」にブール変数に設定します。

+0

ありがとうございますが、私はちょっとした疑問があります。カスタム変数でこれをどうやって行うのですか?それは可能ですか? もう一度おねがいします! – Sinci1

+0

カスタム変数とは、独自のfloatとbool、または作成した実際のカスタムデータ型を意味しますか? – AidanH

+0

独自のカスタムデータ型ではなく、独自のfloatとboolを使用する場合は、 'MyBehaviourClass'(クラス定義の上のものを含む)がクラスの種類(フロートとブールを保持するもの)に変更されます。 'target.mybool'を 'target。* bool here *'に変更すると、同じことがフロートに適用されます。 – AidanH

関連する問題