void MainMenuController::preload() { // Tutorial button GameController* gc = GameController::create(TUTORIAL_KEY, TUTORIAL_FILE); gc->preload(); _tutButt = MainMenuButton::create(gc); _tutButt->index = -1; _tutButt->loadTextures("textures/Tutorial/tutorial.png", "textures/Tutorial/tutorial.png"); _tutButt->setTouchEnabled(true); //Add event listener _tutButt->addTouchEventListener([&](Ref* sender, ui::Widget::TouchEventType type) { switch (type) { case ui::Widget::TouchEventType::ENDED: _tutButt = ((MainMenuButton*)sender); _currController = _tutButt->index; _activeController = _tutButt->getController(); _rootnode->removeAllChildren(); _activeController->initialize(_rootnode); } }); _tutButt->retain(); loadGameController(LEVEL_ONE_KEY, LEVEL_ONE_FILE); loadGameController(LEVEL_TWO_KEY, LEVEL_TWO_FILE); loadGameController(LEVEL_THREE_KEY, LEVEL_THREE_FILE); loadGameController(LEVEL_FOUR_KEY, LEVEL_FOUR_FILE); loadGameController(LEVEL_FIVE_KEY, LEVEL_FIVE_FILE); loadGameController(LEVEL_SIX_KEY, LEVEL_SIX_FILE); loadGameController(LEVEL_SEVEN_KEY, LEVEL_SEVEN_FILE); loadGameController(LEVEL_EIGHT_KEY, LEVEL_EIGHT_FILE); loadGameController(LEVEL_NINE_KEY, LEVEL_NINE_FILE); // Load the textures (Autorelease objects) _assets = AssetManager::getInstance()->getCurrent(); TextureLoader* tloader = (TextureLoader*)_assets->access<Texture2D>(); tloader->loadAsync(EXPOSURE_BAR, "textures/exposure_bar.png"); tloader->loadAsync(EXPOSURE_FRAME, "textures/exposure_bar_frame.png"); tloader->loadAsync(DUDE_TEXTURE, "textures/player_animation.png"); tloader->loadAsync("dudepool", "textures/Level Pool/Shade_Swim_Animation.png"); tloader->loadAsync(PEDESTRIAN_TEXTURE, "textures/Pedestrian.png"); tloader->loadAsync(PEDESTRIAN_SHADOW_TEXTURE, "textures/Pedestrian_S.png"); tloader->loadAsync(PEDESTRIAN_POOL_TEXTURE, "textures/Level Pool/Level2_RotationP_Animation_New.png"); tloader->loadAsync(PEDESTRIAN_POOL_SHADOW_TEXTURE, "textures/Level2_RotationP_Animation_S.png"); tloader->loadAsync(INDICATOR, "textures/indicator.png"); tloader->loadAsync(CAR_TEXTURE, "textures/car_animation.png"); tloader->loadAsync(CAR_SHADOW_TEXTURE, "textures/Car1_S.png"); tloader->loadAsync(GOAL_TEXTURE, "textures/caster_animation.png"); //tloader->loadAsync("goalpool", "textures/caster_animation.png"); tloader->loadAsync(WIN_IMAGE, "textures/menu/Win Icon.png"); tloader->loadAsync(LOSE_IMAGE, "textures/menu/lose_icon.png"); tloader->loadAsync(WIN_TEXTURE, "textures/Shade_Win.png"); tloader->loadAsync(LOSE_TEXTURE, "textures/Shade_Sun.png"); _assets->loadAsync<Sound>(GAME_MUSIC, "sounds/DD_Main.mp3"); _assets->loadAsync<Sound>(WIN_MUSIC, "sounds/win.mp3"); _assets->loadAsync<Sound>(LOSE_MUSIC, "sounds/lose.mp3"); _assets->loadAsync<Sound>(LATCH_SOUND, "sounds/latch.mp3"); _assets->loadAsync<Sound>(SIGHTED_SOUND, "sounds/sighted.mp3"); _assets->loadAsync<Sound>(RUN_SOUND, "sounds/run.mp3"); JSONReader reader; reader.initWithFile(STATIC_OBJECTS); if (!reader.startJSON()) { CCASSERT(false, "Failed to load static objects"); return; } int count = reader.startArray("types"); for (int index = 0; index < count; index++) { reader.startObject(); string name = reader.getString("name"); string imageFormat = reader.getString("imageFormat"); string shadowImageFormat = reader.getString("shadowImageFormat"); if (shadowImageFormat == "") { shadowImageFormat = imageFormat; } tloader->loadAsync(name + OBJECT_TAG, "textures/static_objects/" + name + "." + imageFormat); tloader->loadAsync(name + SHADOW_TAG, "textures/static_objects/" + name + "_S." + shadowImageFormat); reader.endObject(); reader.advance(); } reader.endArray(); reader.endJSON(); // Background tloader->loadAsync(MENU_BACKGROUND_KEY, "textures/menu/Level Background-01.png"); }