検索結果 4 件
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 武器クラスへのプレイヤー位置情報の渡し方
- 返信数: 10
- 閲覧数: 6797
Re: 武器クラスへのプレイヤー位置情報の渡し方
解決しているようですが、わたしがふだん使っている手法を書いておきます。 この掲示板で過去に同じ話題で書いたこともあるのですが。 RapidShotWeaponにはあらかじめゲームコンテキストというオブジェクトへのポインタを渡しておきます。 ゲームコンテキストは、直接関連を持たないオブジェクトの情報が必要な処理へのインターフェースです。 例えばゲームコンテキストへのポインタがpContextだとして、 pContext->GetShotTarget()->GetPosition() というふうにショットが向かう先の座標を取得します。 GetShotTargetでショットが向かう先を対象にしたイ...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 武器クラスへのプレイヤー位置情報の渡し方
- 返信数: 10
- 閲覧数: 6797
Re: 武器クラスへのプレイヤー位置情報の渡し方
何故クラス同士を疎結合にするか、カプセル化は何のためかを常に考えて作れば自然と収まる形に近づくと思います。 疎結合やカプセル化はバグを出さない・メンテナンス性を上げる手段にすぎないのです。何時でも綺麗で完璧な答えは難問です。 試行錯誤は一生続きますよ。失敗もあるし。 言われてみればそうですね…。なんでも上手くいくように作ろうと考えてしまって答えがでなくては良くないですし。 >それはグローバル関数か、softyaさんのように外部クラスを用意するということでしょうか? どちらでも良いと思います. ともかくその時点でのプレイヤの位置という情報をどこかからどうにかして引っ張ってきてくれさえすれば. ...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 武器クラスへのプレイヤー位置情報の渡し方
- 返信数: 10
- 閲覧数: 6797
Re: 武器クラスへのプレイヤー位置情報の渡し方
updateの引数で渡すのが自然だと思います。Playerクラスの座標が必要でないならば使わなければいいだけなので。 なるほど。確かに必要ないならば使わないという考え方もありますね…。 コントローラクラスが座標などを中継してはどうしょう。 そうすれば、Weaponクラス側がPlayerクラスの直接参照を必要としなくなります。 コントローラクラスは各クラスの依存ベタベタになりますが、その他のクラスの独立性は高まります。 外部のクラスを使う手はあまり考えていませんでした。 Playerクラスを参照しないけど、情報は取得することができるのは良いですね。 最も簡単には, プレイヤーの座標を取得するた...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 武器クラスへのプレイヤー位置情報の渡し方
- 返信数: 10
- 閲覧数: 6797
武器クラスへのプレイヤー位置情報の渡し方
こんにちは。 皆さんから意見を聞きたくて、このトピックを立てました。 現在、c++でシューティングゲームを制作しています。 そこで、以下の様なクラスがあります。(簡素にしています) class Character { public: Character(void); virtual ~Character(void); virtual void update(void) = 0; virtual void draw(void); //位置アクセサ int getX(void); int getY(void); void setX(int x); void setY(int y); private...