最近在开发一个可视化工具的时候,遇到了一个代码错误,小小的记录一下

  • 具体的报错信息:ArgumentException: Getting control 0's position in a group with only 0 controls when doing Repaint A
    从Unity的报错信息上我们可以得知在OnGUI绘制的时候,它找不到可控的位置。经过查找和验证发现一个很有意思的事情:OnGUI函数每帧并不是仅仅只调用一次!
    通常,当没有输入处于活动状态时,会使用EditorGUILayout和Repaint调用OnGUI两次。在EditorGUILayer调用期间,将处理GUILayout调用并计算控件的位置和大小,屏幕上实际上不会显示任何内容。其次,调用Repaint事件时调用它,这次控件实际上是用计算出的位置和大小绘制的。当有一个有效输入(鼠标,键盘等)时,它也被称为额外时间,并且此调用始终是最后一次,它也会导致在屏幕上绘图。按照上述的逻辑,我们就可以很清楚的知道,当我们在OnGUI里面进行动态的绘制时,要避免对EditorGUILayer的改变,不然在同一帧的不同OnGUI上,它有可能会找不到你需要的EditorGUILayer的位置坐标。
  • 解决方法:我使用了EditorGUI绘制来代替EditorGUILayer,对于EditorGUI,我们可以通过计算来传入位置信息,使得在每一次的绘制都能够获取到真正的位置信息,避免出错。

unity EditorGUILayer绘制报错的更多相关文章

  1. MVC模式下unity配置,报错“No connection string named '**Context' could be found in the application config file”

     写在前面: 第一次配置时好好的,后来第二次改到MVC模式,把依赖注入写成字典的单例模式时,由于新建的ORM(数据库映射模型EF),怎么弄都不用,一直报错"No connection str ...

  2. unity无限循环报错的定位

    晚上遇到了,碰到了程序一运行就卡住的尴尬问题,然后百度下,看了看,Get到了一个新的skill. 1. 打开对应的VS程序,选择“调试/Attach Unity Debuger”菜单来调试代码. 2. ...

  3. Pygal之世界地图绘制from pygal.i18n import COUNTRIES 报错的解决办法

    在<Python编程:从入门到实践>书中的一个项目用到pygal.i18n获取国别码, 问题描述: 在学习<python编程:从入门到精通>的pygal绘制世界地图时,遇到了这 ...

  4. 【已解决】unity4.2.0f4 导出Android工程报错:Error building Player: ArgumentException: Illegal characters in path. [unity导出android工程 报错,路径含有非法字符]

    使用unity3D开发的一个客户端,需要导出为Android工程,然后接入一些第三方android SDK. unity版本 操作系统为: OS 名称: Microsoft Windows 7 旗舰版 ...

  5. Unity在OpenGL模式下Shader编译报错

    报错信息 GLSL compilation failed: 0(21) : error C7528: OpenGL reserves names containing '__' 双击报错VS自动打开V ...

  6. 解决导入protobuf源代码Unity报错的问题

    将源代码导入Assets目录后, unity引擎会出现以下报错: 解决办法: 在 unity项目Assets目录中创建smcs.rsp文件,内容为-unsafe,其作用为可编译不安全代码.     然 ...

  7. Unity 4.7 导出工程在XCode10.1上编译报错

    Unity 4.7 导出工程在XCode 10.1上编译报错,而在XCode 9.3上是可以正常编译运行的.原因是Unity4.7所依赖的头文件和库文件在XCode10上没有了,解决办法如下,把XCo ...

  8. Unity - Humanoid设置Bip骨骼导入报错

    报错如下: 解决: 原因是biped骨骼必须按照Unity humanoid的要求设置,在max中设置如下:

  9. Unity 3D 使用TerrainCompose 调用RTP 报错:

    Unity 3D:5.2 version TerrainCompose:1.92 version RTP:3.2d version Unity 3D  使用TerrainCompose 调用RTP 报 ...

随机推荐

  1. Csharp 基础笔记知识点整理

    /* * @version: V.1.0.0.1 * @Author: fenggang * @Date: 2019-06-16 21:26:59 * @LastEditors: fenggang * ...

  2. windows ssh远程登录阿里云遇到permissions are too open的错误

    我试图用ssh -i 命令远程登录阿里云时,遇到如下错误: Permissions for 'private-key.ppk' are too open. It is required that yo ...

  3. 离线环境下自动化部署python环境(含openssl)

    遇到有项目要在内网环境下安装python项目,所以空余时写了自动化部署python环境和python项目的脚本,由于项目涉密,这里仅提供自动化部署python环境的shell脚本,包括openssl的 ...

  4. cetos报错“Lack of free swap space” 解决方法

    前提:今天发现某台主机一直报警:swap内存被用光 1.查看了服务器的内存情况[发现在物理内存还剩余的情况下,swap开始被使用,甚至到被用光][root@note1 ~]# free -htotal ...

  5. kuangbin专题专题四 Currency Exchange POJ - 1860

    题目链接:https://vjudge.net/problem/POJ-1860 大致题意:有不同的货币,有很多货币交换点,每个货币交换点只能两种货币相互交换,有佣金C,汇率R. 每次交换算一次操作, ...

  6. 行业——5G

    1.  概述 1.1  定义 5G:5th Generation Mobile Networks / 5th Generation Wireless Systems,第5代移动通信技术 1.2  商标 ...

  7. 通过PHP自带的$_SERVER判断 自动识别移动设备

    因为站点需要,手机端和PC端分离,所以通过PHP自带的$_SERVER判断 自动识别移动设备 代码如下: <?php $agent = $_SERVER['HTTP_USER_AGENT']; ...

  8. wordpress定时发布失败Missed Schedule解决方法

    今天一位客户的网站设置了文章定时发布但却没有发布成功,提示Missed Schedule错误,把所有的插件都暂停了再设置定时发布也不行,那就只能寻找其他的解决方案了.ytkah查看一下有没相关修复插件 ...

  9. SpringBoot整合Spring Data Elasticsearch

    Spring Data Elasticsearch提供了ElasticsearchTemplate工具类,实现了POJO与elasticsearch文档之间的映射 elasticsearch本质也是存 ...

  10. js原型结构图

    要素:对象原型.函数原型: [p]  原型对象: p    模版对象: 要构造的对象的信息: 构造函数具有原型对象和模版对象: 普通对象只具有模版对象: https://zhuanlan.zhihu. ...