OSDN Git Service

Release Preview 対応
[shooting3/shootinggame.git] / ShootingGame / GameMain.cpp
index fa83dd7..144e94a 100644 (file)
@@ -23,6 +23,7 @@ using namespace Windows::UI::Xaml::Controls;
 using namespace Windows::Graphics::Display;
 using namespace DirectX;
 using namespace D2D1;
+using namespace concurrency;
 
 
 using namespace BasicSprites;
@@ -33,23 +34,32 @@ const float GameMain::BACKBUFFER_HEIGHT = 240.0f;
 
 GameMain::GameMain() : backBufferViewPort_(0.0f,0.0f,BACKBUFFER_WIDTH,BACKBUFFER_HEIGHT) , isDestroy_(false)
 {
-       // \83T\83E\83\93\83h\8dÄ\90\83X\83\8c\83b\83h\82Ì\8aJ\8en
-       soundThread_ = std::thread(
-    [this]() -> void 
-         {
-                 ExecuteSoundThread();
-         }
-       );
+  soundDriver_.reset(new sf::SoundDriver());
+       soundManager_.reset(new sf::SoundManager(*soundDriver_.get()));
+  // \83T\83E\83\93\83h\8dÄ\90\83X\83\8c\83b\83h\82Ì\8aJ\8en
+  soundTask_ = task<void>(create_async([this]()
+  {
+    ExecuteSoundThread();
+  })
+  );
+       //soundThread_ = std::thread(
+ //   [this]() -> void 
+       //  {
+       //        ExecuteSoundThread();
+       //  }
+       //);
 }
 
 GameMain::~GameMain()
 {
   // \83T\83E\83\93\83h\8dÄ\90\83X\83\8c\83b\83h\82Ì\92â\8e~
        isDestroy_ = true;
-       if(soundThread_.joinable())
-       {
-               soundThread_.join();
-       }
+  soundTask_.wait();
+       //if(soundThread_.joinable())
+       //{
+       //      soundThread_.join();
+       //}
 };
 
 void GameMain::CreateDeviceIndependentResources()
@@ -632,9 +642,7 @@ float GameMain::RandFloat(float min, float max)
 // \83T\83E\83\93\83h\8dÄ\90\83X\83\8c\83b\83h
 void GameMain::ExecuteSoundThread()
 {
-       sf::com_init comInit;
-  soundDriver_.reset(new sf::SoundDriver());
-       soundManager_.reset(new sf::SoundManager(*soundDriver_.get()));
+       //sf::com_init comInit;
   InitSound();
   soundManager_->Sequencer().Play();
        while(!isDestroy_)
@@ -773,8 +781,8 @@ void GameMain::InitSound()
         timber.filter.lfo.gain = 1.0f;
         timber.filter.lfo.waveForm = &(soundManager_->Synthesizer().WaveTables()[3]);
         timber.filter.lfo.startNoteOn = true;
-        timber.filter.cutoff = 50.0f;
-        timber.filter.resonance = 0.7f;
+        timber.filter.cutoff = 10000.0f;
+        timber.filter.resonance = 0.0f;
         timber.filter.envelope.attackTime = 0.01f;
         timber.filter.envelope.decayTime = 0.03f;
         timber.filter.envelope.sustainLevel = 0.05f;