ページ 1 / 1
					
				カウントダウンを作りたい
				Posted: 2012年10月03日(水) 22:16
				by へぶん
				ゲームを作っています。
キーを押したら、時間経過で
3
2
1
と数字が変わるようにしたいのですが、forやwhileを使ってもうまくいきません。
while(count<500){
if(count>0){
DrawString(-----);
count++
}
}
のようなものをやってみました。
助言やソースコードをくださいm(_ _)m
			 
			
					
				Re:
				Posted: 2012年10月03日(水) 22:18
				by へぶん
				すみません;;
件名とユーザ名を逆に書いてしまいました;;
			 
			
					
				Re: カウントダウンを作りたい
				Posted: 2012年10月03日(水) 22:29
				by softya(ソフト屋)
				件名とユーザー名は直しておきました。
それとcodeタグを使ってくださいね。
質問は、DXLIBを使用ということで宜しいのでしょうか?
カウントを表示する場合は表示するために必ずScreenFlip()などの一連処理を通るようにしてください。そうしないと画面に反映されません。
なのでforもwhileもループで回しても表示はされません。
コード:  
        // while( 裏画面を表画面に反映, メッセージ処理, 画面クリア )
        while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){
                // ここに処理を書く。
        }
「ここに処理を書く。」で表示待ちを含むループさせることはしてはいけませんので、お願いします。
 
			 
			
					
				Re: カウントダウンを作りたい
				Posted: 2012年10月03日(水) 22:42
				by へぶん
				変更ありがとうございます。
Dxlib使用です。
そのwhileに書いていました;
その中に入れるとどのような問題がありますか?
			 
			
					
				Re: カウントダウンを作りたい
				Posted: 2012年10月03日(水) 22:49
				by softya(ソフト屋)
				上に書いていますが、ScreenFlip()を通過しないと表示されません。
500カウントするならcountの値が変わる度にDrawString(-----);した上でwhile( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 )を通過させる必要があります。
			 
			
					
				Re: カウントダウンを作りたい
				Posted: 2012年10月03日(水) 23:00
				by へぶん
				できました!ありがとうございます!
画像処理の際にはScreenFlipを入れることを心がけます。
			 
			
					
				Re: カウントダウンを作りたい
				Posted: 2012年10月03日(水) 23:04
				by softya(ソフト屋)
				へぶん さんが書きました:できました!ありがとうございます!
画像処理の際にはScreenFlipを入れることを心がけます。
ちなみに次の事はしないでくださいね。
「新・C言語 ~ゲームプログラミングの館~ [DXライブラリ] 補足資料.11章 書いてはいけない4つの処理」
http://dixq.net/g/h_11.html
特に「不適切な実装3. あちこちにDXライブラリ3大処理がある」はやってはいけません。
 
			 
			
					
				Re: カウントダウンを作りたい
				Posted: 2012年10月03日(水) 23:15
				by へぶん
				それはやってはいないので大丈夫です。