HideFlag隱藏標識


前言

如何讓一個Gameobject的屬性在運行時,不可以在屬性面板上手動的修改呢?

文檔:http://www.ceeger.com/Script/Enumerations/HideFlags/HideFlags.html

測試環境:Unity 5.3.6f1 (windows x64)

經測試HideFlag對gameobject和自定義都有效,因為此屬性是UnityEngine.Object的,而MonoBehaviour的上層也是繼承於此,所以只要你的腳本直接或間接地繼承MonoBehaviour都是可行的。

關系圖:UnityEngine.Object->Component->Behaviour->MonoBehaviour

Gameobject不可編輯

測試代碼

public class HideFlagTest : MonoBehaviour
{
    // Use this for initialization
    void Start()
    {
        //整個gameobject的屬性面板不可編輯
        gameObject.hideFlags = HideFlags.NotEditable;
    }
}

測試效果

gameobject的整個屬性面板都不可編輯

image

 

腳本或自帶組件不可編輯

測試代碼

public class HideFlagTest : MonoBehaviour
{
    public int speed = 10;
    public string desc = "test";
    public GameObject target;

    // Use this for initialization
    void Start()
    {
        gameObject.GetComponent<Camera>().hideFlags =  HideFlags.NotEditable;
        //僅僅是某個腳本的屬性面板不可編輯
        gameObject.GetComponent<HideFlagTest>().hideFlags = HideFlags.NotEditable;
    }
}

測試效果

Camera組件和自定義的腳本不可編輯

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM