- 1 名前:名前は開発中のものです。 [2008/05/23(金) 21:10:59 ID:8M1gqhPX]
- 具体的なゲーム名を挙げて、
どのようにクラス設計をすればよいか、 継承・委譲関係はどのようにすればよいか、 使えそうなパターンは何かなど語るのもよし。 自作ゲームの内容とクラス図を書いて 改善案を聞くもよし。 設計に関して困ったことを質問するもよし。 関数の具体的な実装内容やゲーム内容に関しては他スレに譲る。 大いに語れ。 前スレ pc11.2ch.net/test/read.cgi/gamedev/1155209226/ テンプレ追加事項あったらよろすく
- 543 名前:名前は開発中のものです。 mailto:sage [2009/10/16(金) 01:18:33 ID:MsmDVyev]
- 2chで素直に謝られると逆に困ります.
参考になりました,ありがとうございます.
- 544 名前:名前は開発中のものです。 mailto:sage [2009/10/16(金) 01:38:32 ID:tEeFyBBH]
- グローバル変数を利用側が直接更新したり参照したりするのはアウトだけど、
スタティックグローバルな変数を、何らかのアクセス関数を通して更新/参照するような設計は普通だと思う。 // gamedata.h void update(); int get_parameter1(); // gamedata.cpp static int s_paramter1 = 0; static int s_paramter2 = 0; .... void update() { /* 更新 */ } int get_parameter1() { return s_paramter1; } 唯一しか存在しないゲーム中のデータをどう実装・管理するか、って視点だけで考えれば スタティックグローバルであろうと、クラスであろうと大差ないと思うけど、 ある時点でのスナップショットを扱う必要がある、みたいな場合、 // gamedata.h void update(Data* gamedata); int get_parameter(Data* gamedata); て感じで、結局データを引数で取る形になるから、クラスで実装して方がいいんじゃないかと思う。
- 545 名前:名前は開発中のものです。 mailto:sage [2009/10/16(金) 06:29:56 ID:UJ9WR3Zt]
- 代入の時などに別の処理を入れるんでなければ
変数を直接弄るんでもいいかな・・・。
- 546 名前:名前は開発中のものです。 mailto:sage [2009/10/16(金) 11:40:43 ID:/PDPq+0/]
- 入力値の正当性をチェックしたり、同時に変更しなければならないパラメータが1つじゃなかったり、
そういう可能性を考慮すると、関数を経由させたほうが便利。
- 547 名前:名前は開発中のものです。 mailto:sage [2009/10/16(金) 20:07:25 ID:eJ9LLkd5]
- アクセッサ経由だとバグっぽい動きも引っ掛けやすいが、
そうでないと大変そうだな。デバッグ一件で1時間とか悩みたくないし。
- 548 名前:名前は開発中のものです。 mailto:sage [2009/10/18(日) 12:51:59 ID:Yr/zm5ey]
- >546
確かに使い方を間違えるってのはよく起こる
|

|