#include <SFML/Graphics.hpp>
#include <SFML/Audio.hpp>
int main()
{
// Crea una ventana de 640x480x32 con el título SFML window
sf::RenderWindow window(sf::VideoMode(640, 480, 32), "SFML window");
// Activa la sincronización vertical (60 fps)
window.setVerticalSyncEnabled(true);
// Creamos un SoundBuffer para almacenar un sonio
sf::SoundBuffer buffer;
// Cargamos un archivo en el buffer
if (!buffer.loadFromFile("data/sonido.ogg"))
{
return EXIT_FAILURE;
}
// Creamos un sonido
sf::Sound sonido;
// Le asignamos el buffer cargado
sonido.setBuffer(buffer);
// establecemos el volumen a 80
sonido.setVolume(80);
// Creamos un objeto música
sf::Music musica;
// Abrimos el fichero de música que queremos reproducir
musica.openFromFile("data/musica.ogg");
// Activamos el loop cuando acabe empezará de nuevo
musica.setLoop(true);
// Empezamos a reproducir nuesta música
musica.play();
// Game Loop mientras la ventana esté abierta
while (window.isOpen())
{
// Creamos un objeto evento
sf::Event event;
// Procesamos la pila de eventos
while (window.pollEvent(event))
{
// Si el evento es de tipo Closed cerramos la ventana
if (event.type == sf::Event::Closed)
window.close();
// Si pulsamos la tecla espacio que se reproduzca el sonido
else if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Space)
{
sonido.play();
}
}
// Limpiamos la pantalla
window.clear(sf::Color(180, 200, 255));
// Actualizamos la ventana
window.display();
}
return 0;
}