unity 编辑器GUI报错(最大化时报错)

报错内容:

MissingReferenceException: The object of type 'DockArea' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.
UnityEditor.GUIView.Internal_SetPosition (UnityEngine.Rect windowPosition) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.GUIView.SetPosition (UnityEngine.Rect newPos) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.HostView.SetPosition (UnityEngine.Rect newPos) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.View.set_position (UnityEngine.Rect value) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.PlaceView (System.Int32 i, System.Single pos, System.Single size) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.SetupRectsFromSplitter () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.Reflow () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.SetPosition (UnityEngine.Rect newPos) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.View.set_position (UnityEngine.Rect value) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.PlaceView (System.Int32 i, System.Single pos, System.Single size) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.SetupRectsFromSplitter () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.Reflow () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.SetPosition (UnityEngine.Rect newPos) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.View.set_position (UnityEngine.Rect value) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.PlaceView (System.Int32 i, System.Single pos, System.Single size) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.SetupRectsFromSplitter () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.Reflow () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.SetPosition (UnityEngine.Rect newPos) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.View.set_position (UnityEngine.Rect value) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.PlaceView (System.Int32 i, System.Single pos, System.Single size) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.SetupRectsFromSplitter () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.Reflow () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.Cleanup () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.Cleanup () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.Cleanup () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.DockArea.KillIfEmpty () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.DockArea.RemoveTab (UnityEditor.EditorWindow pane, System.Boolean killIfEmpty, System.Boolean sendEvents) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.EditorWindow.Close () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.InspectorWindow.OnDestroy () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.GenericMenu:CatchMenu(Object, String[], Int32)
GUI Error: You are pushing more GUIClips than you are popping. Make sure they are balanced.
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

按照以上报错你可能搜到以下解决方案:
GUI Error: You are pushing more GUIClips than you are popping. Make sure they are balanced (type:7) GUI Error: You are pushing more
GUIClips than you are popping. Make sure they are balanced (type:8)
出现此错误,是由于GUIClips中开始与结束的没一一对应上产生的,比如有一个
GUILayout.BeginHorizontal();而后面又没有 GUILayout.EndHorizontal();与之对应
,就会报以上错误。

但也许你也会和我一样遇到这种错误:


Invalid editor window of type: UnityEditor.PreviewWindow, title: 预览
UnityEditor.GenericMenu:CatchMenu (object,string[],int)

看见最后这个报错了吗?多了个预览窗口,可以尝试禁用或删除该窗口来解决以上所有报错。
当然如果你不知道怎么关掉(我就不知道)可以直接一键重置布局,累了,毁灭吧,一个响指下去就没报错了。
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity打包生成中报错GUI实用性:过程事件。 Unity是一款强大的跨平台游戏引擎,内置了强大而易用的GUI系统,用于创建游戏中的用户界面。然而,在打包生成游戏的过程中,可能会遇到一些与GUI相关的报错,这些错误会影响到界面的正常显示和交互。 报错的实用性可以从两个方面考虑:过程和事件。 首先,过程方面。Unity打包生成过程中的GUI报错可能会导致无法正常启动游戏,或者在游戏运行过程中出现界面问题。这些报错包括但不限于:界面元素错位、按钮无法点击、文字显示异常等。这些问题不仅会影响到玩家的游戏体验,也会给开发者增加修复bug的工作量。因此,报错GUI对于打包生成的过程而言,具有重要的实用性,可以帮助开发者发现和解决问题,保证游戏在各种平台上的正常运行。 其次,事件方面。GUI报错可能会伴随着一些特定的事件,例如用户点击按钮出现报错,或者切换游戏界面出现问题。这些事件可以为开发者提供线索,帮助他们定位出错的地方,并进行相应的修复。通过分析报错事件,开发者可以深入了解GUI系统的运行机制,进而改进和优化游戏的用户界面,提升用户体验。 综上所述,Unity打包生成中的GUI报错具有重要的实用性。它们在保证游戏界面正确显示、和保证游戏正常运行的过程中起到承上启下的重要作用。开发者需要重视并解决这些报错,同利用其中包含的信息来优化游戏界面,提升用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值