精灵类是cc.Sprite,它的类图如下图所示。cc.Sprite类直接继承了cc.Node类,具有cc.Node基本特征。
创建Sprite精灵对象
创建精灵对象可以使用构造函数实现,它们接受相同的参数,这些参数非常灵活。归纳起来创建精灵对象有4种主要的方式:
1. 根据图片资源路径创建
//图片资源路径
var sp1 = new cc.Sprite("res/background.png");
//图片资源路径和裁剪的矩形区域
var sp2 = new cc.Sprite("res/tree.png",cc.rect(604, 38, 302, 295))
2. 根据精灵表(纹理图集)中的精灵帧名创建
//图片资源路径
var sp1 = new cc.Sprite("res/background.png");
//图片资源路径和裁剪的矩形区域
var sp2 = new cc.Sprite("res/tree.png",cc.rect(604, 38, 302, 295))
由于这种方式与图片资源路径创建它们的参数都是一个字符串,那么为了区分是精灵帧名还是图片资源路径,在精灵帧名前面加上井号(#)表示。
3. 根据精灵帧创建
我们可以通过精灵帧缓存中获得精灵帧对象,再从精灵帧对象中获得精灵对象。
//精灵帧缓存
var spriteFrame = cc.spriteFrameCache.getSpriteFrame("background.png");
var sprite = new cc.Sprite(spriteFrame);
4. 根据纹理创建精灵
//创建纹理对象
var texture = cc.textureCache.addImage("background.png");
//指定纹理创建精灵
var sp1 = new cc.Sprite(texture);
//指定纹理和裁剪的矩形区域来创建精灵
var sp2 = new cc.Sprite(texture, cc.rect(0,0,480,320));
来源https://blog.csdn.net/tonny_guan/article/details/44624863