http://dixq.net/g/d_01.html
上記ページのwhile文はScreenFlip等はループで上に戻る時に機能しますが、
初めてループに入った瞬間にScreenFlip等が機能するように、少ない手間で改良する方法はありませんか?
メイン関数の書き方
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 13年前
- 住所: 東海地方
- 連絡を取る:
Re: メイン関数の書き方
たぶん、それを必要とするのはプログラム構造的にまずい事になっているんだと思います。
本当のプログラム全体でScreenFlip();は一個だけですか?
後々のことを考えれば、今のうちに直すべきです。
本当のプログラム全体でScreenFlip();は一個だけですか?
後々のことを考えれば、今のうちに直すべきです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: メイン関数の書き方
返信ありがとうございます。
例えば極端な話、
while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){
DrawGraph( 0, 0,img, false );
WaitKey();
}
となっている場合、1回目のループのWaitKey()で止まった場合、
画像が反映される前の状態になります。
こういったのが自分的に好ましくなかったので今回の質問をさせていただきました。
例えば極端な話、
while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){
DrawGraph( 0, 0,img, false );
WaitKey();
}
となっている場合、1回目のループのWaitKey()で止まった場合、
画像が反映される前の状態になります。
こういったのが自分的に好ましくなかったので今回の質問をさせていただきました。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 13年前
- 住所: 東海地方
- 連絡を取る:
Re: メイン関数の書き方
前に紹介した好ましくない設計に書かれている通りWaitKey();も良くないです。
表面的な意味ではなく、なぜいけないのかを考えてみましょう。
表面的な意味ではなく、なぜいけないのかを考えてみましょう。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: メイン関数の書き方
いや、本当に極端な話をしただけで、実際組んでいるものには入っていませんよ…(;--)
とりあえず、ループが終わるタイミングでScreenFlip等が機能するんじゃなく、ループに入った時にScreenFlip等が機能するようにしたいだけなんです…
とりあえず、ループが終わるタイミングでScreenFlip等が機能するんじゃなく、ループに入った時にScreenFlip等が機能するようにしたいだけなんです…
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 13年前
- 住所: 東海地方
- 連絡を取る:
Re: メイン関数の書き方
これまでの話から分かるように「ループに入った時にScreenFlip」する必要性を作ってはいけません。cardinal さんが書きました:いや、本当に極端な話をしただけで、実際組んでいるものには入っていませんよ…(;--)
とりあえず、ループが終わるタイミングでScreenFlip等が機能するんじゃなく、ループに入った時にScreenFlip等が機能するようにしたいだけなんです…
なので、その仮定自体が意味がないのです。
必要のないものは作らなくて良いですよね?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。