使用缓存的好处,这对于做过web开发的人员来说是很明了的。。
比如从数据库读取数据显示在前台为例,如果每次都调用数据库那么响应时间就会拉长。
如果我们给资源设置缓存,预先的把他们保存在缓存中,那么我们在程序中直接从缓存中读取资源,可以很好的提升游戏运行的效率;
在进入主场景以前,我们设置一个场景,其目的就是预先为资源设置缓存;
//精灵的序列帧缓存 SpriteFrameCache::getInstance()->addSpriteFramesWithFile("bg/allbg.plist"); SpriteFrameCache::getInstance()->addSpriteFramesWithFile("mf/mf.plist"); SpriteFrameCache::getInstance()->addSpriteFramesWithFile("vir/vir.plist"); ArmatureDataManager::getInstance()->addArmatureFileInfo("cat/catAnimation/catAnimation.ExportJson"); SimpleAudioEngine::getInstance()->preloadBackgroundMusic("music/warring.mp3");
在主场景中直接从我们的缓存中读取资源;
switch (_tag) { case dirTag: { auto sprite = Sprite::createWithSpriteFrameName("direction.png"); this->addChild(sprite, 2, dirTag); break; } case jumpTag: { auto sprite = Sprite::createWithSpriteFrameName("tiao.png"); this->addChild(sprite, 2, jumpTag); break; } case attTag: { auto sprite = Sprite::createWithSpriteFrameName("dangong.png"); this->addChild(sprite, 2, attTag); break; } default: break; }
这要比每次从文件夹中读取效率要高得多。
cocos2d-x 缓存
时间: 2024-10-10 15:20:01