聲明:本文為個人筆記,用于學(xué)習(xí)研究使用非商用,內(nèi)容為個人研究及綜合整理所得,若有違規(guī),請聯(lián)系,違規(guī)必改。
Unity功能——編輯器模式下隱藏/顯示游戲?qū)ο蟮目旖莘椒?/h2>
一.開發(fā)環(huán)境
unity20XX.X.X
VS20XX
二.問題描述
在編輯器模式下,想快捷的顯示/隱藏一個游戲?qū)ο?
三.解決方案原理及代碼
實現(xiàn)原理:
對組件進(jìn)行擴展方法.對MonoBehaviour ,Transform,GameObject 組件進(jìn)行擴展方法
快捷鍵為Ctrl+Shift+H
注意:因為使用了UnityEditor命名空間,該腳本放在Editor 文件夾下.文章來源:http://www.zghlxwxcb.cn/news/detail-718206.html
對應(yīng)代碼:
/********************************************************************
* 版本聲明: v1.0.0
* 類 名 稱:ShowOrHideObjByInspect.cs
* 作者名稱:明哲
* 創(chuàng)建日期:
* 對應(yīng)U3D:Unity2018.2.3
* 功能描述:顯示或隱藏Inspector面板上物體
*********************************************************************/
using UnityEditor;
using UnityEngine;
namespace MZ
{
public class ShowOrHideObjByInspectTool : ScriptableObject
{
public const string KeyName = "MZSDK/Tools/顯示隱藏物體 %#h";
//根據(jù)當(dāng)前有沒有選中物體來判斷可否用快捷鍵
[MenuItem(KeyName, true)]
static bool ValidateSelectEnableDisable()
{
GameObject[] go = GetSelectedGameObjects();
if (go == null || go.Length == 0)
return false;
return true;
}
[MenuItem(KeyName)]
static void SeletEnable()
{
bool enable = false;
GameObject[] gos = GetSelectedGameObjects();
foreach (GameObject go in gos)
{
enable = !go.activeInHierarchy;
EnableGameObject(go, enable);
}
}
//獲得選中的物體
static GameObject[] GetSelectedGameObjects()
{
return Selection.gameObjects;
}
//激活或關(guān)閉當(dāng)前選中物體
public static void EnableGameObject(GameObject parent, bool enable)
{
parent.gameObject.SetActive(enable);
}
}
}
四.總結(jié)
保持饑餓,保持愚蠢.
這世界唯一能夠相信的就是你付出的努力和你走過的路.文章來源地址http://www.zghlxwxcb.cn/news/detail-718206.html
到了這里,關(guān)于Unity功能——編輯器模式下隱藏/顯示游戲?qū)ο蟮目旖莘椒ǖ奈恼戮徒榻B完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!