void SubTest::initWithSubTest(int subtest, Node* p) { srand(0); subtestNumber = subtest; _parentNode = nullptr; /* * Tests: * 1: 1 (32-bit) PNG sprite of 52 x 139 * 2: 1 (32-bit) PNG sprite of 52 x 139 (same as 1) * 3: 1 (32-bit) PNG Batch Node using 1 sprite of 52 x 139 * 4: 1 (16-bit) PNG Batch Node using 1 sprite of 52 x 139 * 5: 14 (32-bit) PNG sprites of 85 x 121 each * 6: 14 (32-bit) PNG sprites of 85 x 121 each that belong to on texture atlas * 7: 14 (32-bit) PNG Batch Node of 85 x 121 each * 8: 14 (16-bit) PNG Batch Node of 85 x 121 each * 9: 64 (32-bit) sprites of 32 x 32 each *10: 64 (32-bit) sprites of 32 x 32 each that belong to on texture atlas *11: 64 (32-bit) PNG Batch Node of 32 x 32 each *12: 64 (16-bit) PNG Batch Node of 32 x 32 each */ // purge textures auto mgr = Director::getInstance()->getTextureCache(); mgr->removeTextureForKey("Images/grossinis_sister1.png"); mgr->removeTextureForKey("Images/grossini_dance_atlas.png"); mgr->removeTextureForKey("Images/spritesheet1.png"); switch ( subtestNumber) { /// case 1: case 2: Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA8888); _parentNode = Node::create(); break; case 3: Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA8888); _parentNode = SpriteBatchNode::create("Images/grossinis_sister1.png", 100); break; case 4: Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA4444); _parentNode = SpriteBatchNode::create("Images/grossinis_sister1.png", 100); break; /// case 5: case 6: Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA8888); _parentNode = Node::create(); break; case 7: Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA8888); _parentNode = SpriteBatchNode::create("Images/grossini_dance_atlas.png", 100); break; case 8: Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA4444); _parentNode = SpriteBatchNode::create("Images/grossini_dance_atlas.png", 100); break; /// case 9: case 10: Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA8888); _parentNode = Node::create(); break; case 11: Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA8888); _parentNode = SpriteBatchNode::create("Images/spritesheet1.png", 100); break; case 12: Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA4444); _parentNode = SpriteBatchNode::create("Images/spritesheet1.png", 100); break; /// case 13: Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA4444); _parentNode = Node::create(); break; default: break; } p->addChild(_parentNode); _parentNode->retain(); }
void SubTest::initWithSubTest(int subtest, Node* p) { std::srand(0); _subtestNumber = subtest; _parentNode = nullptr; /* * Tests: * 1: 1 (32-bit) PNG sprite of 52 x 139 * 2: 1 (32-bit) PNG sprite of 52 x 139 (same as 1) * 3: 1 (32-bit) PNG Batch Node using 1 sprite of 52 x 139 * 4: 1 (16-bit) PNG Batch Node using 1 sprite of 52 x 139 * 5: 14 (32-bit) PNG sprites of 85 x 121 each * 6: 14 (32-bit) PNG sprites of 85 x 121 each that belong to on texture atlas * 7: 14 (32-bit) PNG Batch Node of 85 x 121 each * 8: 14 (16-bit) PNG Batch Node of 85 x 121 each * 9: 64 (32-bit) sprites of 32 x 32 each *10: 64 (32-bit) sprites of 32 x 32 each that belong to on texture atlas *11: 64 (32-bit) PNG Batch Node of 32 x 32 each *12: 64 (16-bit) PNG Batch Node of 32 x 32 each * *13: (16-bit) PNG sprites. 33% from test4, 33% from test8, 33% from test12 *14: (32-bit) PNG sprites: Batched Quads *15: (32-bit) PNG sprites: Batched Triangles *16: (16-bit) Similar to test 13, but uses polygon sprites instead of quads */ // purge textures auto mgr = Director::getInstance()->getTextureCache(); mgr->removeTextureForKey("Images/grossinis_sister1.png"); mgr->removeTextureForKey("Images/grossini_dance_atlas.png"); mgr->removeTextureForKey("Images/spritesheet1.png"); SpriteFrameCache::getInstance()->removeSpriteFrames(); switch ( _subtestNumber) { /// case 1: case 2: Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA8888); _parentNode = Node::create(); break; case 3: Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA8888); _parentNode = SpriteBatchNode::create("Images/grossinis_sister1.png", 100); break; case 4: Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA4444); _parentNode = SpriteBatchNode::create("Images/grossinis_sister1.png", 100); break; /// case 5: case 6: Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA8888); _parentNode = Node::create(); break; case 7: Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA8888); _parentNode = SpriteBatchNode::create("Images/grossini_dance_atlas.png", 100); break; case 8: Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA4444); _parentNode = SpriteBatchNode::create("Images/grossini_dance_atlas.png", 100); break; /// case 9: case 10: Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA8888); _parentNode = Node::create(); break; case 11: Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA8888); _parentNode = SpriteBatchNode::create("Images/spritesheet1.png", 100); break; case 12: Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA4444); _parentNode = SpriteBatchNode::create("Images/spritesheet1.png", 100); break; /// case 13: Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA4444); _parentNode = Node::create(); break; case 14: Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA8888); _parentNode = Node::create(); SpriteFrameCache::getInstance()->addSpriteFramesWithFile("Images/grossini_quad.plist"); // sprite sheet with rectangular frames break; case 15: Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA8888); _parentNode = Node::create(); SpriteFrameCache::getInstance()->addSpriteFramesWithFile("Images/grossini_polygon.plist"); // sprite sheet with triangulation of sprite outlines break; case 16: Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA4444); _parentNode = Node::create(); SpriteFrameCache::getInstance()->addSpriteFramesWithFile("Images/grossinis_sister1_sp.plist"); SpriteFrameCache::getInstance()->addSpriteFramesWithFile("Images/grossinis_sister2_sp.plist"); break; default: break; } p->addChild(_parentNode); _parentNode->retain(); }