UG4L8-3——图形

本章代码关键字

1
2
3
4
5
6
GGraph                        //图形元件类
gObject.asGraph //将元件类对象as成GGrgph类对象的属性
gGraph.DrawRect() //绘制矩形
gGraph.DrawEllipse() //绘制圆
new GGraph() //创建一个图形元件对象
gGraph.SetNativeObject() //将Unity对象插入到空白图形元件对象上

图形元件

图形元件是FairyGUI提供给我们用于显示简单几何图形的元件,它支持的形状有:空白、矩形、圆形、正多边形、多边形
一般可以用它来实现的功能:遮罩、占位、雷达图等等

创建图形

image

图形元件属性相关

​​image​​

  • 线条粗细:决定是否描边

  • 矩形的特有属性

    image

    • 圆角:可以单独填一个数字,
      表示4个角都是半径为填写数字的圆角
      如果用逗号分隔填4个数,那么就是对应每个角的半径
  • 正多边形的特有属性

    ​​image​​

    • 边数:表示正多边形的边数
    • 旋转:正多边形的旋转角度
  • 多边形的特有功能

    image

    • 点击image编辑顶点
    • 可以右键增加点 当选中点右键可以删除点
    • 锁定形状后 可以移动整体图形位置

image

Unity中的使用

  1. 获取图形元件

    1
    GGraph gGraph = view.GetChild("graphTest").asGraph;
  2. 图形中常用API

    其实就是绘制矩形,圆形等各种方法,参数一般由宽,高,线条宽度,线条颜色,填充颜色组成(有些方法可能没有某些参数)

    1
    2
    gGraph.DrawRect(100, 100, 4, Color.red, Color.white);
    gGraph.DrawEllipse(100, 100, Color.red);
  3. 动态创建图形元件

    直接new​即可,不需要从包内加载

    1
    2
    3
    4
    GGraph graph1 = new GGraph();
    graph1.SetPosition(50, 50, 0);
    graph1.DrawRect(100, 100, 4, Color.red, Color.white);
    view.AddChild(graph1);
  4. 插入Unity中的对象到空白图形中

    可以将FairyGUI编辑器内的空白图形当作占位图形,之后在Unity内插入对象

    详细步骤参见:GoWarpper

    1
    2
    DisplayObject obj = null;
    gGraph.SetNativeObject(obj);