メインループ内の描画処理とそれ以外の処理の順番

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
FUNK
記事: 25
登録日時: 11年前

メインループ内の描画処理とそれ以外の処理の順番

#1

投稿記事 by FUNK » 11年前

今製作しているゲームでは、
メインループ内にて大まかに描画処理とそれ以外の処理があります。
それ以外の処理とは入力関係とか描画情報の変化などの処理などです。

現在、この2つの処理の順番は、描画処理、それ以外の処理の順番にしています。

コード:

while()
{
	描画処理;
	それ以外の処理;
}
簡単に書くとこの様になります。

この様になっている理由は特にはなくて、
作り始めの時になんとなくこうしたから、ぐらいです。

それから幾つかのゲームプログラムを製作してきて、
どれもこの順番でコーディングしていたのですが、
最近になって書籍などのサンプルの多くが、
描画処理以外の処理、描画処理の順番になっていることに気がつきました。

当然ループしているのでそれ相当の書き方をすれば、
どちらでも製作は可能なのですが、
描画処理を後にした方が多いのが気になってきまして、
こちらの書き方の方が何かと便利、コーディングし易い等のメリットがあるのかなと思ってきました。


そこで、この順番に関してお聞きしたいのですが、
描画処理を後にした方がいいとかはあるのでしょうか。
それともどちらが最初か後かは特に差異はないのでしょうか。
皆様の意見をお聞きしたいと思います。

よろしくお願いします。
Boogaloo is funk feelin'.

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

Re: メインループ内の描画処理とそれ以外の処理の順番

#2

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

描画してから移動した場合と、移動してから描画した場合の差ですよね?
当然ながら、描画してから移動した場合は移動した情報の描画が1フレーム遅れる事になります。
シューティングやアクションや格闘ゲームや音楽ゲームの場合は描画の遅延が致命的になる場合もありますので、移動してから描画させるのが普通です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

FUNK
記事: 25
登録日時: 11年前

Re: メインループ内の描画処理とそれ以外の処理の順番

#3

投稿記事 by FUNK » 11年前

なるほど、1フレームの差であれど、
実際の座標情報等と描画が一致していない状況になってしまっているのですね。

今後は描画を後(と言うか最後)に書こうと思います。

ありがとうございました。
Boogaloo is funk feelin'.

閉鎖

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