试着用TexturePacker将cocos2d-x 3.3里面的test素材图拿来做了大图。
虽然现在不知道怎么去应用这些素材,但是这是很重要的知识点。
个人理解:在游戏加载时,加载N张图片需要耗费很长的时间,如果将这N张图片拼接成1张大图,然后只加载1张大图,使用时通过N张小图所在的位置来从大图中截取,会大大降低资源消耗。
拼接n张png图片会生成1张png图片和1个plist文件。plist文件就是记录小图在大图中所在的位置。
主要代码:
//精灵帧缓存读取plist SpriteFrameCache *sfc = SpriteFrameCache::sharedSpriteFrameCache(); sfc->addSpriteFramesWithFile("pic/sprites.plist"); //加载大图 auto sprites = SpriteBatchNode::create("pic/sprites.png"); sprites->setPosition(Point::ZERO); this->addChild(sprites,1); //从大图中截取小图创建精灵 auto s = Sprite::createWithSpriteFrameName("grossini_dance_01.png"); s->setPosition(Point(CCRANDOM_0_1() * 480,CCRANDOM_0_1() * 320)); this->addChild(s);