还记得之前的学习笔记中我们的顶点缓冲数组中的顶点数据么,我们使用一个一维数组来记录所有的顶点数据,这是由于顶点缓冲上传数据时是使用的一维数组。
如果对顶点数据进行一层代码的封装,就能更加的方便我们来操作顶点数据了。
所以引入了VertexData(顶点数据)这个类来进行封装。
在Starling中一个顶点需要记录9个数据,分别如下:
- 坐标数据 x 和 y(2D游戏就不需要z轴了,但是Starling中留下了 z 轴的位置的),开始索引为 0;
- 颜色数据 r、g、b、a(顶点颜色),开始索引为 3;
- 纹理数据 u 和 v(纹理坐标),开始索引为 7;
一个顶点数据的格式展开为:x, y, z, r, g, b, a, u, v
一个VertexData对象会记录多个需要上传到GPU的顶点的数据,同时可以方便的修改指定的任意一个顶点数据;
特别说一下预乘透明度:如果设置为true,则颜色数据和(透明度数据/255)的值会进行相乘。