ゲームを作っています。
キーを押したら、時間経過で
3
2
1
と数字が変わるようにしたいのですが、forやwhileを使ってもうまくいきません。
while(count<500){
if(count>0){
DrawString(-----);
count++
}
}
のようなものをやってみました。
助言やソースコードをくださいm(_ _)m
カウントダウンを作りたい
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: カウントダウンを作りたい
件名とユーザー名は直しておきました。
それとcodeタグを使ってくださいね。
質問は、DXLIBを使用ということで宜しいのでしょうか?
カウントを表示する場合は表示するために必ずScreenFlip()などの一連処理を通るようにしてください。そうしないと画面に反映されません。
なのでforもwhileもループで回しても表示はされません。 「ここに処理を書く。」で表示待ちを含むループさせることはしてはいけませんので、お願いします。
それとcodeタグを使ってくださいね。
質問は、DXLIBを使用ということで宜しいのでしょうか?
カウントを表示する場合は表示するために必ずScreenFlip()などの一連処理を通るようにしてください。そうしないと画面に反映されません。
なのでforもwhileもループで回しても表示はされません。 「ここに処理を書く。」で表示待ちを含むループさせることはしてはいけませんので、お願いします。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: カウントダウンを作りたい
上に書いていますが、ScreenFlip()を通過しないと表示されません。
500カウントするならcountの値が変わる度にDrawString(-----);した上でwhile( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 )を通過させる必要があります。
500カウントするならcountの値が変わる度にDrawString(-----);した上でwhile( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 )を通過させる必要があります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: カウントダウンを作りたい
ちなみに次の事はしないでくださいね。へぶん さんが書きました:できました!ありがとうございます!
画像処理の際にはScreenFlipを入れることを心がけます。
「新・C言語 ~ゲームプログラミングの館~ [DXライブラリ] 補足資料.11章 書いてはいけない4つの処理」
http://dixq.net/g/h_11.html
特に「不適切な実装3. あちこちにDXライブラリ3大処理がある」はやってはいけません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。