Fixed DopplerEffect comments

Former-commit-id: 26b6f08b6bbc54b0e96d708feda4229e182cb918
This commit is contained in:
Jérôme Leclercq 2012-09-21 12:06:28 +02:00
parent 4cfbd68796
commit f9443e37d4
1 changed files with 68 additions and 68 deletions

View File

@ -1,68 +1,68 @@
#include <Nazara/Audio.hpp> #include <Nazara/Audio.hpp>
#include <Nazara/Core/Clock.hpp> #include <Nazara/Core/Clock.hpp>
#include <Nazara/Core/Thread.hpp> // Thread::Sleep #include <Nazara/Core/Thread.hpp> // Thread::Sleep
#include <Nazara/Utility/Keyboard.hpp> #include <Nazara/Utility/Keyboard.hpp>
#include <iostream> #include <iostream>
int main() int main()
{ {
// NzKeyboard ne nécessite pas l'initialisation d'Utility // NzKeyboard ne nécessite pas l'initialisation d'Utility
NzInitializer<NzAudio> audio; NzInitializer<NzAudio> audio;
if (!audio) if (!audio)
{ {
std::cout << "Failed to initialize audio module" << std::endl; std::cout << "Failed to initialize audio module" << std::endl;
std::getchar(); std::getchar();
return 1; return 1;
} }
NzSound sound; NzSound sound;
if (!sound.LoadFromFile("resources/siren.wav")) if (!sound.LoadFromFile("resources/siren.wav"))
{ {
std::cout << "Failed to load sound" << std::endl; std::cout << "Failed to load sound" << std::endl;
std::getchar(); std::getchar();
return 1; return 1;
} }
std::cout << "Demonstration de l'effet doppler avec Nazara" << std::endl; std::cout << "Demonstration de l'effet doppler avec Nazara" << std::endl;
std::cout << "Appuyez sur entree pour demarrer" << std::endl; std::cout << "Appuyez sur entree pour demarrer" << std::endl;
std::cout << "Appuyez sur echap pour arreter" << std::endl; std::cout << "Appuyez sur echap pour arreter" << std::endl;
std::getchar(); std::getchar();
// On fait en sorte de répéter le son // On fait en sorte de répéter le son
sound.EnableLooping(true); sound.EnableLooping(true);
// La source du son se situe en (50, 0, 5) // La source du son se situe en (50, 0, 5)
sound.SetPosition(50, 0, 5); sound.SetPosition(50, 0, 5);
// Et possède une vitesse de -10 par seconde sur l'axe X // Et possède une vitesse de -10 par seconde sur l'axe X
sound.SetVelocity(-10, 0, 0); sound.SetVelocity(-10, 0, 0);
// On joue le son // On joue le son
sound.Play(); sound.Play();
// La boucle du programme (Pour déplacer le son) // La boucle du programme (Pour déplacer le son)
NzClock clock; NzClock clock;
while (sound.GetStatus() == nzSoundStatus_Playing) while (sound.GetStatus() == nzSoundStatus_Playing)
{ {
// Comme le son se joue dans un thread séparé, on peut mettre en pause celui-ci régulièrement // Comme le son se joue dans un thread séparé, on peut mettre en pause le principal régulièrement
int sleepTime = 1000/60 - clock.GetMilliseconds(); // 60 FPS int sleepTime = 1000/60 - clock.GetMilliseconds(); // 60 FPS
if (sleepTime > 0) if (sleepTime > 0)
NzThread::Sleep(sleepTime); NzThread::Sleep(sleepTime);
// On bouge la source du son en fonction du au temps depuis chaque mise à jour // On bouge la source du son en fonction du temps depuis chaque mise à jour
NzVector3f pos = sound.GetPosition() + sound.GetVelocity()*clock.GetSeconds(); NzVector3f pos = sound.GetPosition() + sound.GetVelocity()*clock.GetSeconds();
sound.SetPosition(pos); sound.SetPosition(pos);
std::cout << "Sound position: " << pos << std::endl; std::cout << "Sound position: " << pos << std::endl;
// Si la position de la source atteint une certaine position, ou si l'utilisateur appuie sur echap // Si la position de la source atteint une certaine position, ou si l'utilisateur appuie sur echap
if (pos.x < -50.f || NzKeyboard::IsKeyPressed(NzKeyboard::Escape)) if (pos.x < -50.f || NzKeyboard::IsKeyPressed(NzKeyboard::Escape))
sound.Stop(); // On arrête le son (Stoppant également la boucle) sound.Stop(); // On arrête le son (Stoppant également la boucle)
clock.Restart(); clock.Restart();
} }
return 0; return 0;
} }