FairyGUI UIPanel看不到显示UI的Mesh和贴图的问题

初学FairyGUI,看例子,FairyGUI在Editor中显示UI的时候是先选择Package名,在选择Component名,然后在场景里面就可以显示包里面的组件,这时就有一个问题,底层到底做了什么使得UIPanel能够显示Mesh和贴图?

看了FairyGUI源代码,发现在编辑器模式下,FairyGUI在UIPanel的代码里做了如下事情:

    void CreateUI_EditMode()
        {
            if (!EMRenderSupport.packageListReady || UIPackage.GetByName(packageName) == null)
                return;

#if UNITY_5
            UIObjectFactory.packageItemExtensions.Clear();
            UIObjectFactory.loaderConstructor = null;
            DisplayOptions.SetEditModeHideFlags();

            _ui = (GComponent)UIPackage.CreateObject(packageName, componentName);

            if (_ui != null)
            {
                _ui.displayObject.gameObject.hideFlags |= HideFlags.HideInHierarchy;
                _ui.gameObjectName = "UI(AutoGenerated)";

                ....
            }
        }

这里命名了一个GO叫UI(AutoGenerated)然后通过hideFlags来控制改物体为隐藏。刚开始没看FairyGUI源码的时候觉得好神奇,这里明明什么都没有,在场景里面却可以显示该UI的Mesh和贴图。如果把设置hideFlags那一行去掉可以看到,场景里面UIPanel物体下面有一个物体名字叫UI(AutoGenerated),只是通过设置改flag设置为了隐藏而已。所以不必神奇和惊慌。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值