はじめまして。
最近DxLibを用いてゲーム制作をし始めた者です。
早速本題に入らせていただきますが、一定時間処理を続けるということができずに困っています
以下のコードになります(一部を抜粋しているので宣言されていない変数が多いですが...)
5秒間だけDrawrotaGraphを実行し続けたいのですが、視認できないほどのフレームしか描画されない上に、ShrimpSE[4]が連続で再生される(ほぼ毎フレームっぽい)状態です。
ブレークポイントなどを使ってデバッグしてみたのですが、どうやらIsShrimpがTRUEになった瞬間にFALSEにする処理が走っているということしか分からず、なぜ if (ShrimpNowTime < ShrimpEndTime) IsShrimp = FALSE; このif文が通るのか分からない状態です
DxLib云々以前の質問ではありますが、どうしてもGetNowCount()を用いた処理が分からないので教えていただけると幸いです
ShrimpEndTime=5000;
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
while(ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0)
if (CheckHitKey(KEY_INPUT_F) == 1 && !IsShrimp)
{
PlaySoundMem(ShrimpSE[4], DX_PLAYTYPE_BACK);
IsShrimp = TRUE;
ShrimpStartTime = GetNowCount);
}
ShrimpNowTime=GetNowCount()-ShrimpStartTime;
if (ShrimpNowTime < ShrimpEndTime) IsShrimp = FALSE;
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
if(IsShrimp) DrawRotaGraph(ShrimpX + PlayerX, ShrimpY + PlayerY, 0.1,ShrimpAngle,Shrimp, TRUE);