デモの使用におけるユニティのプログレスバーエディタ

エディタ内部の団結がエディタエディタは文字通り意味するものと理解、特徴、そして、我々はエンジンツールの団結を使用することがより便利に使用することができます。
公式文書ます。https://docs.unity3d.com/ScriptReference/Editor.html
1.最初のステップ、2つのプロパティ[健康/攻撃]がある新しい統一プロジェクトを作成し、スクリプトの名前MyActorを作成し、以下のようにコードは次のとおりです。




2.ビジュアルエディタを作るための鍵であるエディタのフォルダを、構築するためのプロジェクトにおける第2のステップと、

 3.第3のステップは、このクラスのニーズがエディタクラスを継承することに注意することが重要、エディタコンポーネントのクラスに直接記述することです、そして私はそれCatEditor.csの名前、およびエディタのフォルダに、コードは次の通りされています。
 
4.最後に、我々は直接バックちょうどオブジェクトインスペクタ(インスペクター)に、プロジェクトを実行する必要はありません、私たちは、このコンポーネントのクラス可視化MyActor.csを指示できることがわかります


MyActor.cs
使用 にSystem.Collectionsを。
使用して System.Collections.Genericを。
UnityEngine;
パブリック クラス MyActor MonoBehaviour {
    公共 int型 健康= 100; //健康
    公共 int型 攻撃10 =; //攻撃
}

MyActorInspector.cs
使用して UnityEditorを。
UnityEngine;
[ CustomEditor typeof演算 MyActor ))]
パブリック クラス MyActorInspector エディタ
{
    公共 int型 HealthProp。
    公共 int型の AttackProp。
    OnEnable()
    {
        MyActor myActor =目標 として MyActor
        HealthProp = myActor.Health。
        AttackProp = myActor.Attack。
    }
    公共 オーバーライド 無効 OnInspectorGUI()
    {
        = HealthProp EditorGUILayout .IntSlider( "健康" 、HealthProp、0、100);
        プログレス((HealthProp / 100.0f)、 "人生の価値" );
        = AttackProp EditorGUILayout .IntSlider( "攻撃" 、AttackProp、0、50);
        プログレス((AttackProp / 100.0f)、 "攻撃" )。
    }
    プライベート 無効 プログレス( フロート 値、 文字列 ラベル)
    {
        //のRectを定義します
        RECT RECT = GUILayoutUtility .GetRect(18、18、 "テキストフィールド" )。
        //プログレスバーを作成します。
        EditorGUI .ProgressBar(RECT、値、ラベル);
        //空白行を追加します。
        EditorGUILayout .SPACE()。
    }
}
公開された11元の記事 ウォン称賛7 ビュー10000 +

おすすめ

転載: blog.csdn.net/LQ753799168/article/details/72614999