Spriteを設計する

 パフォーマンスを計測するまで出来ました(本当か?)。 DIBをベーすにした。 スプライトアニメーションシステムをためしに作ってみることにしましょう。
 
Spriteが持つ機能は
   Spriteを保持することができる。回転 拡大 縮小が出来る。画像の合成ができる。
class Sprite
{
private :
Image image;
public :
add
remove

rotate
scale
print

}
まあ、とりあえずは、addとprintを作る事にしましょう。
取りあえず画面は640×480とする。

SpriteがSpriteを保持するために
 Objectから派生したデータを保持できるようにする。Objectsを造る?。  キャストして使うものをそうていしている。 は〜 こんなので゛良いのだろうか?。
class Object
{
};

class Objects
{
private:
Object obj[100];
int position;
public:

Objects()
{
position = 0;
}

void add(Object obj)
{
this->obj[position] = obj;
position++;
}

Object get(int num)
{
return obj[num];
}

};

うーん、こんなので良いのだろうか。 しかしですね、時間が無いのですよ!! 細かいところは後から手直ししてバグだらけになることにします。
すかさず問題点が発覚
 アップキャストを考えるならば、たぶん 保持するのは実態ではなくて、アドレスのほうが 良いかもしれない。そもそも Spriteが保持するImageは大容量であるのだから、 いちいちコピーするのは、時間の無駄だ思います。 という子で参照を保持するのがベスト。
typedef Object *lpObject;
うん、これでNULLの判断も増えてお得です。  と今日はここまで。 ここまでの内容

反省

 進む速度が遅いです。 これは、私の集中力が30分ほどしか持たないためですね。 このページをつくりはじめてから 3時間とたっていないはずです。 一日ですむことを、もう一週間以上も かけている。 ん〜〜。 駄目だこりゃ。

テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル