void GameLayer::loadLevel (int level) { clearLayer(); _currentLevel = level; resetLevel(); CCDictionary * levelData = (CCDictionary *) _levels->objectAtIndex(_currentLevel); int count; CCDictionary * data; //create platforms CCArray * platforms = (CCArray *) levelData->objectForKey("platforms"); Platform * platform; count = platforms->count(); for (int i = 0; i < count; i++) { platform = (Platform *) _platformPool->objectAtIndex(_platformPoolIndex); _platformPoolIndex++; if (_platformPoolIndex == _platformPool->count()) _platformPoolIndex = 0; data = (CCDictionary *) platforms->objectAtIndex(i); platform->initPlatform ( data->valueForKey("width")->intValue() * TILE, data->valueForKey("angle")->floatValue(), ccp(data->valueForKey("x")->floatValue() * TILE, data->valueForKey("y")->floatValue() * TILE) ); } }
//------------------------------------------------------------------------------------------------ // Name: shutdown // Desc: Clears D3D objects used by this sprite manager. //------------------------------------------------------------------------------------------------ void SpriteManager::shutdown() { // Get rid of the rendering object SAFE_RELEASE(mySpriteRenderer); // Free all of the sprite layers for (int layer = 0; layer < (int)LAYER_COUNT; ++layer) { // Erase all of the textures in sprites in this layer clearLayer((Layer)layer); // Get rid of the memory myLayers[layer].freeMemory(); } }
//------------------------------------------------------------------------------------------------ // Name: clear // Desc: Removes all of the sprites from this manager //------------------------------------------------------------------------------------------------ void SpriteManager::clear() { // Free all of the sprite layers for (int layer = 0; layer < (int)LAYER_COUNT; ++layer) clearLayer((Layer)layer); }