使用精灵缓存

精灵缓存是 Cocos2d-x 为了提高精灵的访问速度,提供的一个精灵的缓存机制。

我们可以创建一个精灵并把精灵放到精灵的缓存对象 SpriteFrameCache 中:

  1. // Our .plist file has names for each of the sprites in it. We'll grab
  2. // the sprite named, "mysprite" from the sprite sheet:
  3. auto mysprite = Sprite::createWithSpriteFrameName("mysprite.png");

使用精灵缓存  - 图1

相对的,我们也可以从精灵的缓存对象 SpriteFrameCache 访问一个精灵,访问方法是先从缓存对象中获取对应的 SpriteFrame,然后从 SpriteFrame创建精灵,方法:

  1. // this is equivalent to the previous example,
  2. // but it is created by retrieving the SpriteFrame from the cache.
  3. auto newspriteFrame = SpriteFrameCache::getInstance()->getSpriteFrameByName("Blue_Front1.png");
  4. auto newSprite = Sprite::createWithSpriteFrame(newspriteFrame);

使用精灵缓存  - 图2