描画フェーズと計算フェーズ

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
海Sea
記事: 102
登録日時: 13年前
住所: 大阪
連絡を取る:

描画フェーズと計算フェーズ

#1

投稿記事 by 海Sea » 11年前

いつもありがとうございます!

現在、ゲームの根幹となる設計を行っています。
その上で、プログラミングするとき
計算フェーズと描画フェーズを分けて考えるのが基本
だとはよく聞きます。
その分けて考えるというところで、

コード:


class Player
{
  //HPやMPなどの数値処理
}

class GraphPlayer
{
   //キャラ画像の処理
}
---------------------
class Maingame
{
   //PlayerとGraphPlayerなど
 //各クラスなどの処理を扱う
}
という風に認識してるのですが、
このような認識であってるでしょうか?
色々細かいことは多々あると思いますが
もしこうしたほうが良いということがあれば、
アドバイス等頂ければ幸いです。
よろしくお願い致します。

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

Re: 描画フェーズと計算フェーズ

#2

投稿記事 by nil » 11年前

PlayerとGraphPlayerを分ける必要性はないと思います。

PlayerクラスとGraphPlayerクラスは同じデータ(座標等)を用いて処理を行うので、
双方をPlayerクラスに統合し、
PlayerクラスにUpdate関数とDraw関数をもたせるのが一般的だと思います。

アバター
Dixq (管理人)
管理人
記事: 1661
登録日時: 13年前
住所: 北海道札幌市
連絡を取る:

Re: 描画フェーズと計算フェーズ

#3

投稿記事 by Dixq (管理人) » 11年前

updateとdrawに分けるのはクラスの中の話です。
それを別クラスにする必要はありません。
従って以下のようになるかと思います。

コード:

class Player : public キャラクタ基底クラス {
public:
	void update();
	void draw();
};

アバター
海Sea
記事: 102
登録日時: 13年前
住所: 大阪
連絡を取る:

Re: 描画フェーズと計算フェーズ

#4

投稿記事 by 海Sea » 11年前

涼雅 さんが書きました:PlayerとGraphPlayerを分ける必要性はないと思います。

PlayerクラスとGraphPlayerクラスは同じデータ(座標等)を用いて処理を行うので、
双方をPlayerクラスに統合し、
PlayerクラスにUpdate関数とDraw関数をもたせるのが一般的だと思います。
クラスの中で二つの関数を用意する
ということなんですね。
どうも描画が更新されたときと、
実際の描画する部分を混濁してたみたいです。
ありがとうございます!

アバター
海Sea
記事: 102
登録日時: 13年前
住所: 大阪
連絡を取る:

Re: 描画フェーズと計算フェーズ

#5

投稿記事 by 海Sea » 11年前

Dixq (管理人) さんが書きました:updateとdrawに分けるのはクラスの中の話です。
それを別クラスにする必要はありません。
従って以下のようになるかと思います。

コード:

class Player : public キャラクタ基底クラス {
public:
	void update();
	void draw();
};
自分のやり方は
ちょっと奇怪かもと思ってたので、
凄く納得できました。
ありがとうございます!

閉鎖

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