第十一节 添加图层类

作者: 安静的程序员 | 来源:发表于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