• unity3d的GUI元素的界面坐标系统总结(有公式)


    GUIText 和GUITexture

    1、GUIText

    锚点(Anchor)的概念我就不介绍了。像NGUI和tookit2d还有 Cocos2d中都有这个重要的概念,对于图片我们可以认为是图片自身的原点。

    而GUIText 对象本身也是支持设置锚点的,但是只有9个选项。用于设置显示的Text文本的整体的自身坐标原点。

    任何对象都会有Transform组件,而在GUIText对象中的有用的就是Position。 这个Position代表了什么呢? 

    一个重要的公式:  

    整个Text文本的的整体的自身坐标原点在窗口屏幕上的位置:

    pos(x,y) = (Position.x*Screen.width + PixelOffset.x,  Position.y*Screen.height + PixelOffset.y)

    这个Position它代表了整个Text文本的的整体的自身坐标原点的位置的基础,Position.x是整个窗口屏幕的宽度的倍数,Position.y是整个窗口屏幕的高度的倍数。

    注意屏幕的坐标原点是左下角为(0,0)。                         

    2、GUITexture

    这个是没有锚点的,图片的自身原点就是在左下角为(0,0,)。

    一个重要的公式:  

    整个GUITexture图片的整体的自身坐标原点在窗口屏幕上的位置:

    pos(x,y) = (Position.x*Screen.width +PixelInset.x,  Position.y*Screen.height +PixelInset.y)

    这个Position它代表了整个Text文本的的整体的自身坐标原点的位置的基础,Position.x是整个窗口屏幕的宽度的倍数,Position.y是整个窗口屏幕的高度的倍数。

    最后给大家做这个逻辑: 如下的一个游戏结束的效果。

    对象的逻辑是这样的,GameOver是一个空对象。

    BG_End 是游戏结束的大背景图

    下面是三个文本GUIText

    和还有GUITexture ”本次获得积分“图片。

    和一个按钮形状的GUITexture图片

    为了让整个的逻辑不变形,就是让前面的各个小的UI元素做游戏结束的大背景图的子对象。    我们让子对象和父对象都是相对于Transform.Position.x,y的值(要注意), 可能认为我设置子对象的Transform.position.x.y都是 0,0,。注意子对象从父对象那继承了。对子对象一样。这样我们就这是子对象的PixelInset.x,y 调整到合适的位置。

    我们记录按钮假图片的这个值。如上图:我们编写代码显示真正的按钮时要用到。

    下面编写代码来显示这个按钮:

             voidOnGUI()     //显示按钮 //

             {

                       GUI.skin= myGUI;

                       if(GUI.Button(newRect(Screen.width*0.5f-26.3f,Screen.height*0.5f+178.71f-67f,61f,67f),"",GUI.skin.GetStyle("ContinueButton")))

                       {

                                Application.LoadLevel("mainMenu");  

                       }

             }

    这里要注意一个主要的内容是“绘制GUI界面的坐标系以屏幕的左上角为(0,0)点

    Button的位置公式:

    (Screen.width*(子Position.x+父Position.x)+子PixelInset.x的原值,Screen.height*(子Position.y+父Position.y)+ 子PixelInset.y的绝对值值-子PixelInset.h)

    大小游戏中一般就是美工提供的原图大小。                      

     
     
  • 相关阅读:
    Maxwell的vbs脚本转matlab
    maxwell电机直观理解
    maxwell电机转矩扫描与使用MTPA策略绘制效率map图
    maxwell施加均匀外磁场
    maxwell的那些坑&小技巧
    maxwell主从边界
    MySql基础
    数据结构知识结构框架图
    第八章 多线程
    软件
  • 原文地址:https://www.cnblogs.com/jiangshuai52511/p/5386543.html
Copyright © 2020-2023  润新知