《我所理解的cocos2dx》第六章 精灵
《我所理解的cocos2dx》第六章 精灵
精灵 Sprite
6.1 精灵绘制区域
精灵绘制区域可能来自纹理上的一部分,或者只是一个与纹理无关的纯色矩形
6.1.1 V3F_C4B_T2F_Quad结构体
对sprite绘制的修改,表现为对这个结构体的修改,结构体记录了一个矩形图元的4个顶点属性,坐标颜色纹理坐标
6.1.2使用QuadCommand绘制
方便进行批绘制
6.3 Alpha预乘
有透明度的物体叠加这通常在运行时发生,为了提高性能,Alpha预乘被提出
它将RGB通道的值保存为自身实际的颜色乘以Alpha通道的值之后的值,这样运行时就只需要计算背景部分的颜色以进行组合了,即上面的后半部分
实际图片的存储格式并不支持预乘,需要通过程序的支持实现,
- 设置sprite的BlendFunc
- 构造Image时告知以及预乘了
- 使用Texture2D提供的静态方法
缺点:
预乘减少了颜色值的精度,当颜色被还原时,会出现比较明显的质量损失
6.4 精灵表
俗称合图 .plist 和.png文件
6.5 精灵动画
SpriteFrameCache 中的SpriteFrame
关键帧和骨骼动画
关键帧:
存储空间大,可以表现丰富的特效
骨骼动画:
存储空间小,擅长处理人物动作局部的变化