拓展编辑器(十六)_拓展Game视图

  Game视图输出的是最终的游戏画面,理论上是不需要拓展的,不过Unity也可以对其进行拓展。它的拓展主要分为两种:运行模式下以及非运行模式下。

  游戏挂在游戏对象后,需要运行游戏才可以执行脚本的生命周期,不过非运行模式下其实也可以执行脚本,比如,Game视图在非运行模式下也可以绘制GUI。其原理就是在脚本类名上方声明[ExecuteInEditMode],表示此脚本在编辑模式中生效。代码如下所示:

 

using UnityEngine;
#if UNITY_EDITOR
[ExecuteInEditMode]
public class 拓展Game视图 : MonoBehaviour
{
    private void OnGUI()
    {
        if (GUILayout.Button("Click"))
        {
            Debug.Log("click!!");
        }
        GUILayout.Label("Hello World!");
    }
}
#endif

  如代码所示,在类上面标记[ExecuteInEditMode],表示非运行模式下也会执行代码的声明周期,接着在OnGUI()方法中就可以绘制元素了。此外,此类脚本通常只是用来做编辑器,正式发布后是不需要的,此时可以用UNITY_EDITOR条件编译发布后剥离掉。

  效果如下:

 

 

转载于:https://www.cnblogs.com/llllllvty/p/9919500.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值