c
Never
#include <allegro5/allegro_audio.h> #include <functional> #include <string> #include "AudioHelper.hpp" #include "GameEngine.hpp" #include "Image.hpp" #include "ImageButton.hpp" #include "Label.hpp" #include "PlayScene.hpp" #include "Point.hpp" #include "SettingScene.hpp" #include "Slider.hpp" void SettingScene::Initialize() { ticks = 0; int w = Engine::GameEngine::GetInstance().GetScreenSize().x; int h = Engine::GameEngine::GetInstance().GetScreenSize().y; int halfW = w / 2; int halfH = h / 2; Engine::ImageButton* btn; btn = new Engine::ImageButton("win/dirt.png", "win/floor.png", halfW - 200, halfH * 7 / 4 - 50, 400, 100); btn->SetOnClickCallback(std::bind(&SettingScene::BackOnClick, this, 2)); AddNewControlObject(btn); AddNewObject(new Engine::Label("Back", "pirulen.ttf", 48, halfW, halfH * 7 / 4, 0, 0, 0, 255, 0.5, 0.5)); Slider *sliderBGM, *sliderSFX; sliderBGM = new Slider(40 + halfW - 95, halfH - 50 - 2, 190, 4); sliderBGM->SetOnValueChangedCallback(std::bind(&SettingScene::BGMSlideOnValueChanged, this, std::placeholders::_1)); AddNewControlObject(sliderBGM); AddNewObject(new Engine::Label("BGM: ", "pirulen.ttf", 28, 40 + halfW - 60 - 95, halfH - 50, 255, 255, 255, 255, 0.5, 0.5)); sliderSFX = new Slider(40 + halfW - 95, halfH + 50 - 2, 190, 4); sliderSFX->SetOnValueChangedCallback(std::bind(&SettingScene::SFXSlideOnValueChanged, this, std::placeholders::_1)); AddNewControlObject(sliderSFX); AddNewObject(new Engine::Label("SFX: ", "pirulen.ttf", 28, 40 + halfW - 60 - 95, halfH + 50, 255, 255, 255, 255, 0.5, 0.5)); sliderBGM->SetValue(AudioHelper::BGMVolume); sliderSFX->SetValue(AudioHelper::SFXVolume); bgmInstance = AudioHelper::PlaySample("select.ogg", true, AudioHelper::BGMVolume); /* AddNewObject(new Engine::Image("win/benjamin-sad.png", halfW, halfH, 0, 0, 0.5, 0.5)); AddNewObject(new Engine::Label("You Win!", "pirulen.ttf", 48, halfW, halfH / 4 + 10, 255, 255, 255, 255, 0.5, 0.5)); Engine::ImageButton* btn; btn = new Engine::ImageButton("start_scene/out.png", "start_scene/in.png", halfW - 200, halfH , 400, 100); btn->SetOnClickCallback(std::bind(&SettingScene::PlayOnClick, this, 1)); AddNewControlObject(btn); AddNewObject(new Engine::Label("Play", "pirulen.ttf", 48, halfW, halfH +50 , 0, 0, 0, 255, 0.5, 0.5)); AddNewObject(new Engine::Label("Tower Defense", "pirulen.ttf", 108, halfW, halfH/2 , 255, 255, 0, 255, 0.5, 0.5)); btn = new Engine::ImageButton("win/dirt.png", "win/floor.png", halfW - 200, halfH * 7 / 4 - 50, 400, 100); btn->SetOnClickCallback(std::bind(&WinScene::BackOnClick, this, 2)); AddNewControlObject(btn); AddNewObject(new Engine::Label("Back", "pirulen.ttf", 48, halfW, halfH * 7 / 4, 0, 0, 0, 255, 0.5, 0.5)); bgmId = AudioHelper::PlayAudio("win.wav"); */ } void SettingScene::Terminate() { IScene::Terminate(); AudioHelper::StopSample(bgmInstance); } void SettingScene::Update(float deltaTime) { ticks += deltaTime; if (ticks > 4 && ticks < 100 && dynamic_cast<PlayScene*>(Engine::GameEngine::GetInstance().GetScene("play"))->MapId == 2) { ticks = 100; bgmId = AudioHelper::PlayBGM("happy.ogg"); } } void SettingScene::BackOnClick(int stage) { // Change to select scene. Engine::GameEngine::GetInstance().ChangeScene("stage-select"); } void SettingScene::BGMSlideOnValueChanged(float value) { /* AudioHelper::ChangeSampleVolume(bgmInstance, value); */ AudioHelper::BGMVolume = value; } void SettingScene::SFXSlideOnValueChanged(float value) { AudioHelper::SFXVolume = value; }
Raw Text
-
Untitled
3 min ago
-
Adult Telegram Channels
8 min ago
-
Supporting Healthy Weight Loss(SlimGuard)
11 min ago
-
(ANAL) - O MELHOR CU DO BRASIL, É DA SUZY SILVA!
17 min ago
-
CP🔥 FOLDER💯📁 R@PED😈😏 LITTLE GIRL🍆👧💦💦
26 min ago
-
Stonecreek Roofing Contractors
36 min ago
-
https://www.facebook.com/ProDentinUSA/
45 min ago
-
застряла во время уборки в позе догги. Думает, что я вытащу ее, но я сначала ей втащу 🤫
46 min ago
-
Untitled
50 min ago
-
Adult Telegram Channels
1 hour ago