トックのCG部屋-トップ別室へ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

プログラミングメモ(描画部分のクラス構造)

今作ってるゲームの描画部分のクラス構造の話
こんな感じで作ってるよっていうだけ
あてになるかどうかなんてしったこっちゃないね
英語弱いのとそこをいちいち調べながら作るような気概はないからクラス名が結構怪しいけど
まぁその辺はスルーってことで

今回はそんなに長くないけどいつも通り説明は追記で
さてクラス図はこんな感じ
描画関係クラス構造
画面オブジェクト(AbstractScreenのサブクラス)が直接描画をするわけじゃなくて
その画面クラスが持っているレンダラ(Renderer)が
自分が持っている描画するオブジェクト(Renderable)を描画するようになってる
画面クラスはテンプレートメソッドを使ってるから
サブクラスはレンダラにオブジェクトを渡したらほかは何も書かなくてもいいようになってるよ

Renderableの下はまぁ今こんな感じのものを作ったよというだけ
ビルボード系とXファイル系のサブインタフェースとそれを実装したクラスとか
一番下二つがImageBoardを持ってるけど要はコンポジッションで拡張したよってだけ
継承よりこっちのほうが柔軟性あっていいだろうって思ったわけだけど
そのために後からインタフェースの定義をしたから結構迷走気味
てか今見直したらクラス構造図ちょっと間違ってるわ
まぁたいしたことじゃないから訂正しないけど

メソッドやフィールド何も書いてないけど
まぁそもそも一番核になってるRenderableはrendering()しか定義してないし
Rendererも自分が持ってるRenderableのrendering()を呼ぶのと
そのRenderableオブジェクトを追加削除する関数ぐらいしかないから
正直構造だけでいいかなと

まぁ実際はファイルから読んだデータのクラスが別あってそれを集約してたり
オブジェクトの管理をしているクラスとそのためのインタフェースがあったりして
ちゃんと書くともっと複雑なんだけどね
描画部分とはまた関係のないところだから省略

てかねぇ……
まぁこれもそうなんだけど全体的に
再利用性と拡張性を意識して書いてみたはいいんだけど
やりすぎたというかちょっと複雑になりすぎたような気がしてる
もちろんその恩恵を受けてる面もあるけど
うーん……
どう転ぶかはまだわからんね
  1. 2011/03/29(火) 18:51:53|
  2. 試験的な物
  3. | トラックバック:0
  4. | コメント:0
<<マスク画像を使って文字送りを実装する | ホーム | 開発状況>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://took.blog72.fc2.com/tb.php/722-ff0cd2d5
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

Author:トック

プロフィール(仮)

twitter:elgraiv_took
└ブログ更新情報

twitter:elgraiv_take
└無駄な日常つぶやき用

FC2カウンター

コンテンツ一覧

本棚

最近の記事

カテゴリー

月別アーカイブ

ブログ内検索

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。