第十一节 添加图层类

作者: 安静的程序员 | 来源:发表于2019-06-22 21:02 被阅读0次
01.图层的作用

主要作用就是方便管理图形,相当于对图形分组。
主屏幕需要维护一个图层列表,每个图层分别维护自己图层上需要显示的数据,主屏幕刷新时,遍历每个图层的显示数据,整合所有图层的显示数据,最后将整合后的数据显示在屏幕上。

02.分析图层类的成员

为了方便区分图层,每个图层需要一个名字。
图层在主屏幕上肯定有一个坐标。
每个图层都有自己的显示数据,所谓显示数据,就是在主屏幕上有哪些点需要显示,我使用一个列表来保存显示数据,列表的每个元素是一个坐标点。
除了名字外,还需要一个保存坐标值的数据结构,所以先来创建一个坐标数据结构。

03.添加坐标点结构体

除了坐标点结构体外,往后还需要添加一些其他的结构体和枚举值,这些零碎的数据全都放在一个脚本文件里就可以了。
在脚本文件夹下添加一个脚本,命名为:PublicData。
打开脚本后,先清空代码,然后添加坐标点结构体:

public struct MyPoint
{
    public int _line;
    public int _list;

    public MyPoint(int line, int list)
    {
        _line = line;
        _list = list;
    }
}
04.创建图层类并添加基本成员

在脚本文件夹中添加新脚本:Layer。

下面开始编辑脚本:
这个类与Unity不关联,所以先移除继承和重写的方法,等于创建了一个空类:

public class Layer
{
}

添加名字、坐标、显示数据成员:

public class Layer
{
    string _name;               // 图层名称
    MyPoint _point;             // 图层坐标
    List<MyPoint> _viewData;    // 显示数据
}

将这些成员封装为属性:

public class Layer
{
    string _name;               // 图层名称
    MyPoint _point;             // 图层坐标
    List<MyPoint> _viewData;    // 显示数据

    public string Name { get => _name; set => _name = value; }
    public MyPoint Point { get => _point; set => _point = value; }
    public List<MyPoint> ViewData { get => _viewData; set => _viewData = value; }
}

添加构造方法:

public Layer()
{
    Name = "";
    Point = new MyPoint(0, 0);
    ViewData = new List<MyPoint>();
}

到此,图层类的编辑就告一段落了。

代码链接:https://pan.baidu.com/s/13pdEINPQ9cffK1mzVrdS9Q
提取码:85ps

相关文章

网友评论

    本文标题:第十一节 添加图层类

    本文链接:https://www.haomeiwen.com/subject/skelqctx.html