トップページ > 記事閲覧
カウントダウンを作成できない
名前:ヒヨコ 日時: 2022/12/08 14:59

カウントダウン機能で0秒になったらそのループの処理から抜けるという機能を実装したいのですが、 なかなかうまく実装できないので教えて下さい。お願いします。 void Game_Draw() { int score = 0; int breakNum = 0; int timediff; LONGLONG timelimit = GetNowHiPerformanceCount() + 5000000; SetDrawScreen(DX_SCREEN_BACK); while (ProcessMessage() == 0) { timediff = int(timelimit - GetNowHiPerformanceCount()); ClearDrawScreen(); DrawFormatString(5, 5, GetColor(255, 255, 255), "%02d'%02d'%d%d", timediff / 60000000, (timediff % 60000000) / 1000000, ((timediff % 60000000) % 1000000) / 100000, (((timediff % 60000000) % 1000000) % 100000) / 10000); ScreenFlip(); if (timediff == 0) { break; } } }
メンテ

Page: 1 |

Re: カウントダウンを作成できない ( No.1 )
名前:管理人 日時:2022/12/09 01:49

if (timediff == 0) { ↑ こちらの部分を if (timediff <= 0) { このようにすれば良いと思います ( timediff がぴったり 0 になる可能性は非常に低く、恐らく timediff の値がマイナスになっているので… )
メンテ
Re: カウントダウンを作成できない ( No.2 )
名前:ヒヨコ(解決済) 日時:2022/12/09 10:11

導入させていただいたところ、うまく実装することができました。 ありがとうございます!
メンテ
Re: カウントダウンを作成できない ( No.3 )
名前:ヒヨコ 日時:2022/12/09 11:22

すみません。追加で質問させてください。 カウントダウンの表示についてなんですけどこの実装だと分と秒とミリ秒が表示されるんですが、 秒だけ表示させたいんですけど何か良い方法はありませんか?
メンテ
Re: カウントダウンを作成できない ( No.4 )
名前:管理人 日時:2022/12/10 01:09

DrawFormatString(5, 5, GetColor(255, 255, 255), "%02d'%02d'%d%d", timediff / 60000000, (timediff % 60000000) / 1000000, ((timediff % 60000000) % 1000000) / 100000, (((timediff % 60000000) % 1000000) % 100000) / 10000); ↑ こちらの行の記述を変更するだけで実現可能です ただ、ちょっと不思議なのですが、こちらの行を書かれたのがヒヨコさんでしたら 容易に『秒だけ表示』にできると思うのですが、こちらのプログラムを書かれたのは ヒヨコさんではないのでしょうか?
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存