発音のラグを減らしたい、これだとFPSが下がってしまうのが原因なのかなぁ?
発音のラグを減らしたい、これだとFPSが下がってしまうのが原因なのかなぁ?
# include <Siv3D.hpp>double pickMod(double a){return (a - (int)a);}bool boolFlip(bool a){return !a;}void Main(){/*60FPSで動作するので、60F/sec = 3600F/minデバッグモード表示はShift+Dで切り替え*///譜面クラスに書く内容int frameCount = 0; //フレームカウントdouble recordFrameCount[5] = { 0, 0, 0, 0, 0 }; //フレームカウント位置記録const int startMusicFrameCount = 285; //音源gapconst int bpm = 144;const Font font(16); //デバッグ表示用const Sound sound(L"Music/ビーネイトエルフ.mp3");if (!sound){ return; };const double fpb = 3600 / bpm; //frame per minitueframeCount = -1 * startMusicFrameCount;int i = 0;bool isDebugMode = false;sound.play();while (System::Update()) {frameCount++;if ((Input::KeyShift + Input::KeyD).clicked){isDebugMode = boolFlip(isDebugMode);}if (isDebugMode){font.draw(Format(L"F.count:", frameCount, L" | B.count:", (frameCount / fpb), L"(fpb:", fpb, L")"));if (pickMod(frameCount / fpb) <= 0.1){font(L"*").draw(0, 30);}else{font(L"-").draw(0, 30);}font(pickMod(recordFrameCount[0])).draw(0, 60);font(pickMod(recordFrameCount[1])).draw(0, 90);font(pickMod(recordFrameCount[2])).draw(0, 120);font(pickMod(recordFrameCount[3])).draw(0, 150);font(pickMod(recordFrameCount[4])).draw(0, 180);if (Input::KeyK.clicked){recordFrameCount[i % 5] = (frameCount / fpb);i++;}if (Input::KeySpace.clicked){exit(0);}}//debugmodeif (Input::KeyK.clicked){if (pickMod(frameCount / fpb) <= 0.02 || pickMod(frameCount / fpb) >= 0.98){//Just判定font(L"JUST").draw(0, 0);}else if (pickMod(frameCount / fpb) <= 0.1 || pickMod(frameCount / fpb) >= 0.9){//Great判定font(L"Great").draw(0, 0);}else if (pickMod(frameCount / fpb) <= 0.2 || pickMod(frameCount / fpb) >= 0.8){//Good判定font(L"Good").draw(0, 0);}else{//miss判定font(L"miss").draw(0, 0);}}}//Updateループ}