ページ 11

カウントダウンの実装について

Posted: 2013年6月11日(火) 13:51
by 名も無い者
前回は皆様に大変迷惑をおかけして申し訳ありませんでした、名も無い者です。
今回は、以前私が投稿したトピック(http://dixq.net/forum/viewtopic.php?f=3&t=13195)で制作していたゲームに、「DXライブラリ置場質問掲示板」から見つけてきたカウントダウンをするコードを組み込みたいのですが、うまくいかなかったため皆様にご意見を伺いたいと思い、新しくトピックを投稿しました。
よろしくお願いします。

以下見つけてきたコードです

コード:

 
#include "DxLib.h"

int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int )
{
	ChangeWindowMode( TRUE );
	if ( DxLib_Init( ) == -1 ) return -1;

	int timediff;
	LONGLONG timelimit = GetNowHiPerformanceCount() + 120000000;

	SetDrawScreen( DX_SCREEN_BACK );
	while ( ProcessMessage( ) == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 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( );
	}
	DxLib_End( );
	return 0;
}

 
 

Re: カウントダウンの実装について

Posted: 2013年6月11日(火) 13:55
by softya(ソフト屋)
その、うまく行かなかったコードを提示してもらえまでしょうか?
あるいは、このコードの何処が分からないか聞いて頂けますか?
今のままだと質問に成っていないので、どう答えて良いのか不明なのです。

softya(ソフト屋)さんへ

Posted: 2013年6月11日(火) 14:11
by 名も無い者
>その、うまく行かなかったコードを提示してもらえまでしょうか?
言葉が足りなかったようですいません。
で、前回私が投降したトピックの、超絶右留斗羅天才プログラマーさんによる15番目の返信に書かれていたコードに今回見つけたコードを組み込もうとしてうまくいかなかったのです。

Re: カウントダウンの実装について

Posted: 2013年6月11日(火) 14:38
by 超絶右留斗羅天才プログラマー
ゲームループに入る前の行で、

コード:

int timediff;
LONGLONG timelimit = GetNowHiPerformanceCount() + 120000000;
を追加し、ScreenFlip();の前の行で

コード:

timediff = int(timelimit - GetNowHiPerformanceCount());
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 );
を追加することでカウントダウンが表示されます。

余談ですが、120000000というのは、2*60*1000000で2分を表しています。
カウントダウンを10秒にしたい場合は、
10*1000000=10000000を設定するといいですよ(*´▽`*)

Re: カウントダウンの実装について

Posted: 2013年6月11日(火) 15:23
by 名も無い者
無事解決いたしました!
超絶右留斗羅天才プログラマーさん、softya(ソフト屋)さん、ありがとうございました!!