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
网友评论