首页 > 代码库 > cocos2d-x 缓存

cocos2d-x 缓存

使用缓存的好处,这对于做过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;
	}

这要比每次从文件夹中读取效率要高得多。