ページ 1 / 1
GetNowCount()で取得した数値を時分秒で表示したい
Posted: 2017年6月03日(土) 15:22
by ミルキー
タイトルのまんまなんですが、
ゲームスタートから時間をはかり、
クリアまでにかかった時間を
最後にプレイヤーに教えるために時分秒に直して
画面に表示したいのです。
GetNowCount();の中身は
1000分の1秒で数値がどんどん追加されてくるんですよね?
で、ゲームクリアした瞬間に、
下記の処理を施したので問題ないでしょうか?
教えて下さい。
second=GetNowCount()/1000;
minute=second/60;
second%=60;
hour=minute/60;
minute%=60;
で、hour、minute、second
それぞれの中身をDrawで描画
どっか間違ってますか?
Re: GetNowCount()で取得した数値を時分秒で表示したい
Posted: 2017年6月03日(土) 16:40
by みけCAT
このGetNowCount()が
DXライブラリの関数であれば、間違っています。
このDXライブラリのGetNowCount()はWindows起動時からの時間を返すので、
ゲームスタートからの時間にするためにはクリアの時のGetNowCount()の値からゲームスタートの時のGetNowCount()の値を引かないといけません。
また、second、minute、hourの型がわからないので、このコードが適切かもわかりません。
Re: GetNowCount()で取得した数値を時分秒で表示したい
Posted: 2017年6月03日(土) 16:52
by keito94
hourは時間、minuteは分、secondは秒だと思います。
追記:しまった、そういうことではないのか…。
Re: GetNowCount()で取得した数値を時分秒で表示したい
Posted: 2017年6月03日(土) 18:49
by keito94
ごめんなさい、質問の意味を間違えてしまいました。
hour,minute,secondは、int型だと思います…。
オフトピック
へにっくすさん、ご指摘ありがとうございます…。
Re: GetNowCount()で取得した数値を時分秒で表示したい
Posted: 2017年6月03日(土) 21:15
by ミルキー
みけCATさん
あ、そうでした。間違ってますね。
というわけで、ゲーム開始時にはまず
int StartTime=GetNowCount();//スタートまでの数値を確保
しておき、
int second、minute、hour;
ゲーム中のみの時間を出すために、StartTime分を引いて考える、って感じにします。
second=(GetNowCount()-StartTime)/1000;
minute=second/60;
second%=60;
hour=minute/60;
minute%=60;
で、hour、minute、second
それぞれの中身をDrawで描画
これでどうですか??
Re: GetNowCount()で取得した数値を時分秒で表示したい
Posted: 2017年6月04日(日) 12:16
by keito94
Re: GetNowCount()で取得した数値を時分秒で表示したい
Posted: 2017年6月04日(日) 16:10
by naohiro19
変数名にマウスカーソルで当てると「型名 変数名」というように表示してくれます。