メイン関数の書き方

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
cardinal

メイン関数の書き方

#1

投稿記事 by cardinal » 7年前

http://dixq.net/g/d_01.html
上記ページのwhile文はScreenFlip等はループで上に戻る時に機能しますが、
初めてループに入った瞬間にScreenFlip等が機能するように、少ない手間で改良する方法はありませんか?

ホヅミ
記事: 110
登録日時: 9年前

Re: メイン関数の書き方

#2

投稿記事 by ホヅミ » 7年前

初めてループに入った時だと、サンプルのままでも問題ないと思いますが。
つまりは

コード:

while(  ProcessMessage()==0 && ClearDrawScreen()==0 ){
        ScreenFlip();
    ・
    ・
    ・
}

こういうことを言いたいのですか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: メイン関数の書き方

#3

投稿記事 by softya(ソフト屋) » 7年前

たぶん、それを必要とするのはプログラム構造的にまずい事になっているんだと思います。
本当のプログラム全体でScreenFlip();は一個だけですか?
後々のことを考えれば、今のうちに直すべきです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

cardinal

Re: メイン関数の書き方

#4

投稿記事 by cardinal » 7年前

返信ありがとうございます。
例えば極端な話、
while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){
DrawGraph( 0, 0,img, false );
WaitKey();
}
となっている場合、1回目のループのWaitKey()で止まった場合、
画像が反映される前の状態になります。
こういったのが自分的に好ましくなかったので今回の質問をさせていただきました。

nil
記事: 428
登録日時: 8年前

Re: メイン関数の書き方

#5

投稿記事 by nil » 7年前

メインループ内でWaitKeyを使う設計が好ましくないです。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: メイン関数の書き方

#6

投稿記事 by softya(ソフト屋) » 7年前

前に紹介した好ましくない設計に書かれている通りWaitKey();も良くないです。
表面的な意味ではなく、なぜいけないのかを考えてみましょう。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

cardinal

Re: メイン関数の書き方

#7

投稿記事 by cardinal » 7年前

いや、本当に極端な話をしただけで、実際組んでいるものには入っていませんよ…(;--)
とりあえず、ループが終わるタイミングでScreenFlip等が機能するんじゃなく、ループに入った時にScreenFlip等が機能するようにしたいだけなんです…

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: メイン関数の書き方

#8

投稿記事 by softya(ソフト屋) » 7年前

cardinal さんが書きました:いや、本当に極端な話をしただけで、実際組んでいるものには入っていませんよ…(;--)
とりあえず、ループが終わるタイミングでScreenFlip等が機能するんじゃなく、ループに入った時にScreenFlip等が機能するようにしたいだけなんです…
これまでの話から分かるように「ループに入った時にScreenFlip」する必要性を作ってはいけません。
なので、その仮定自体が意味がないのです。
必要のないものは作らなくて良いですよね?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

cardinal

Re: メイン関数の書き方

#9

投稿記事 by cardinal » 7年前

あー、やっと会話の流れが分かった(?)と思います。
良いプログラムに変更してきます
皆さん返信ありがとうございました

閉鎖

“C言語何でも質問掲示板” へ戻る