NeoFT構想/内部仕様案
スプライトとオーバーライド †
- 投稿者: 477?
- 優先順位: 普通
- 状態: 提案
- カテゴリー: グラフィック・音響
- 投稿日: 2004-06-09 (水) 22:12:58
メッセージ †
スプライトは画像の取扱単位。車両の画像や、建物の画像。
オーバーライドは、季節や日時によって画像を取り替える仕組み。
クラス構成 †
class Sprite
- 基本的にマップ上のオブジェクトと一対一で結びつけられる画像単位
- OverrideTableを持つ。日時とSpriteElementの対応テーブル。
季節、月、日付(○月×日、○月第n×曜日)、日付(毎月X日)、曜日、時刻などで指定可。
(ただし昼夜変化の画像は除く)
class SpriteElement
- 個々のオーバーライド画像。ただしそれ自身は昼夜変化のオーバーライドに細分化される。
- DayNightTableを持つ。昼夜区分とTextureの対応テーブル。基本は{昼、夜}。
可能なら{早朝(4-5)、午前(6-11)、午後(12-17)、夕方(18-19)、夜(20-23)、深夜(24-翌3)}とする。
class Texture
- それ以上オーバーライドされない画像単位。通常は昼夜区分のいずれかと対応。
- 画像ファイルソースとしてPictureを持つ。
class AnimatedTexture : Texture
- Textureクラスの派生クラス。アニメーションが定義された画像単位。
- アニメーションの詳細を定義するFrameTableを持つ。表示矩形とフレーム長の対のテーブル。
画像ファイルソースはbaseクラスのPictureとする。
class Picture
- 画像ファイルそのものと一対一で関連づけられるクラス。
所有関係
Sprite
(1)┗━(*)SpriteElement
(1)┗━(*)Texture or AnimatedTexture
(1)┗━(1)Picture