#include "application.h" #include #include Application::Application() : game_window({1280, 720}, "Test") { float x = game_window.getSize().x; float y = game_window.getSize().y; pulse_mask.setSize({x, y}); pulse_mask.setOrigin(0.f, 0.f); pulse_mask.setFillColor(sf::Color(255, 0, 0, 0)); } void Application::run() { game_window.display(); timeline.push(5500000); timeline.push(5000000); timeline.push(4500000); timeline.push(4000000); timeline.push(3500000); timeline.push(3000000); timeline.push(2500000); timeline.push(2000000); timeline.push(1500000); timeline.push(1000000); //music.openFromFile("/home/egor/test.flac"); //usic.play(); music.restart(); while (game_window.isOpen()) { sf::Event event; while (game_window.pollEvent(event)) { if (event.type == sf::Event::Closed) game_window.close(); } update(); draw(); } } void Application::update() { if (!timeline.empty() && timeline.top() <= music.getElapsedTime().asMicroseconds()) { timeline.pop(); pulse_mask.setFillColor(sf::Color(255, 0, 0, 255)); } if (pulse_mask.getFillColor().a > 0) { const auto alpha = pulse_mask.getFillColor().a - 1; pulse_mask.setFillColor(sf::Color(255, 0, 0, alpha)); } } void Application::draw() { game_window.clear(); game_window.draw(pulse_mask); game_window.display(); }