Unity遇坑系列:不同的坐标系

今天想把一段文字显示在屏幕上,最初的想法是在Unity编辑器中创建一个text控件,然后在程序中Update事件中改变它的位置,如下:

void Update()

{

textLevel.rectTransform.position = new Vector2(30, 30);

}

得到的结果图下图:

Unity遇坑系列:不同的坐标系

也就是说,左下角坐标为(0, 0),这也没什么可以说的,也符合正常坐标系的思维。

后来由于我想改字体大小和颜色,找到了更简单的方法,直接在OnGUI事件中调用GUI.Label,这样更方便,也不需要额外声明一个text对象。代码如下:

private void OnGUI()

{

string top_format = "{0}";

GUI.Label(new Rect(50, 50, 200, 50), string.Format(top_format, string.Format("{0}级", Global.person.level.ToString())));

}

此时我意外地发现,OnGUI中的坐标系跟Update的坐标系竟然是不同的,如下图:

Unity遇坑系列:不同的坐标系

同样的起始点坐标,Update是第一象限,OnGUI则是第4象限。这个确实有点不大理解,猜测下来可能OnGUI与Update的显示走的架构不同,具体原因大家有了解的吗?

展开阅读全文

页面更新:2024-03-13

标签:坐标系   象限   下图   字体大小   坐标   控件   架构   也就是说   最初   没什么   思维   想法   确实   对象   声明   系列   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top