Cocos2dx__精灵创建

如何创建一个精灵?

1. 使用一张特定的图像如创建

   auto mySprite = Sprite::create("mySprite.png"); 

          

  注意:蓝色部分是背景。

2. 使用矩形

   auto mySprite = Sprite::create("mySprite.png", Rect(0, 0, 50, 50)); 

          

   注意:蓝色部分是背景。

扫描二维码关注公众号,回复: 9580221 查看本文章

3. 使用图集

  在使用图集时,首先将其全部加载到 SpriteFrameCache 中。

  SpriteFrameCache 是一个全局的缓存类,缓存了添加到其中的 SpriteFrame 对象,提高了精灵的访问速度。

  SpriteFrame 只加载一次,后续一直保存在 SpriteFrameCache 中。

  可以用 TexturePackerGUI(有免费版)创建图集。

  打包之后生成文件 xxx.plist 和 xxx.png:

    

   其中每个 Speite 命名为 spritei(注意:i 为 1,2,3,4,5)。

  如果忘记了各个精灵的命名怎么办?以记事本方式打开 xxx.plist 即可查看。

  加载图集:

     SpriteFrameCache::getInstance()->addSpriteFramesWithFile("sprites.plist"); 

4. 使用精灵缓存

  从精灵的缓存对象 SpriteFrameCache 访问一个精灵有两种方法:

  ① 使用精灵名字进行创建:

     auto mySprite2 = Sprite::createWithSpriteFrameName("sprite1.png"); 

   ② 先从缓存对象中获取对应的 SpriteFrame,然后用 SpriteFrame 建精灵

     auto mySprite3 = Sprite::createWithSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("sprite2.png")); 

5. 为何要使用图集和精灵缓存?

  使用图集比使用多个独立图像占用的磁盘空间更少,还会有更好的性能。这种方式已经是游戏行业中提高游戏性能的标准方法之一。

  还可以创建帧动画。

猜你喜欢

转载自www.cnblogs.com/teternity/p/Cocos2dx__CreateSprites.html