| Method | Draw Calls | FPS | Memory (MB) | |--------|------------|-----|--------------| | Individual PNGs | 501 | 32 | 78 MB | | Sprite sheet (no batch node) | 1 | 58 | 42 MB | | Sprite sheet + SpriteBatchNode | 1 | 60 | 42 MB |
<key>player_idle_01</key> <dict> <key>x</key><integer>0</integer> <key>y</key><integer>0</integer> <key>width</key><integer>64</integer> <key>height</key><integer>64</integer> </dict> 4.1 Loading a Sprite Sheet // Load the sprite sheet cache auto spritecache = SpriteFrameCache::getInstance(); spritecache->addSpriteFramesWithFile("characters.plist", "characters.png"); // Create a sprite from the sheet auto player = Sprite::createWithSpriteFrameName("player_idle_01.png"); this->addChild(player); 4.2 Using SpriteBatchNode (for maximum performance) auto batch = SpriteBatchNode::create("characters.png"); this->addChild(batch); auto sprite1 = Sprite::createWithSpriteFrameName("player_run_01.png"); auto sprite2 = Sprite::createWithSpriteFrameName("player_run_02.png"); cocos2d sprite sheets
Command line with TexturePacker: