精灵类是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));
更多内容请关注最新Cocos图书《Cocos2d-x实战:JS卷——Cocos2d-JS开发》
本书交流讨论网站:http://www.cocoagame.net
欢迎加入Cocos2d-x技术讨论群:257760386
更多精彩视频课程请关注智捷课堂Cocos课程:http://v.51work6.com
智捷课堂现推出Cocos会员,敬请关注:http://v.51work6.com/courseInfoRedirect.do?action=netDetialInfo&courseId=844465&categoryId=0
《Cocos2d-x实战 JS卷》现已上线,各大商店均已开售:
京东:http://item.jd.com/11659698.html
欢迎关注智捷iOS课堂微信公共平台,了解最新技术文章、图书、教程信息