*画像をつける-アニメーション
今のゲーム画面はあまりにも簡素すぎて、
一体何なのかが分かりにくいと思ったので、
ゲームらしくするためにも、画像をつけることにしました。
画像クラス
► スポイラーを表示
CODE:
class Image
{
//画像数
int m_NumGraph;
//画像ハンドルを保管
std::vector
m_Graphs;
//画像を切替える間隔(フレーム単位)
int m_Interval;
//画像の幅、高さ
int imgW;
int imgH;
//アニメーション用カウンタ
int m_AnimCounter;
public:
Image(){}
//アニメーションではない場合
Image(int graph);
//アニメーションの場合
Image(int num, int* graphs, int interval);
//画像の描画
void Draw(Vec2D pos);
//画像ハンドルの取得
std::vector& Graph(){ return m_Graphs; }
};
CODE:
Image::Image(int graph)
:m_NumGraph(1)
{
m_Graphs.push_back(graph);
GetGraphSize(graph, &imgW, &imgH);
}
Image::Image(int num, int* graphs, int interval)
:m_NumGraph(num),
m_Interval(interval),
m_AnimCounter(0)
{
for(int i = 0; i
m_ImageMap;
//シングルトン
ImageManager(){ Init(); }
void Push(std::string s, Image i)
{
m_ImageMap.insert(std::make_pair(s,i));
}
public:
static ImageManager& Instance()
{
static ImageManager im;
return im;
}
void Init();
Image GetImage(std::string key)
{
return m_ImageMap[key];
}
};
特に面白いところはありません。
画像は文字列とペアで管理され、文字列から画像ハンドルを取得します。
ゲームのコンセプトが未だ決まっていないので、
とりあえず、無難(?)なユニットの画像を作りました。

- slime.png (706 バイト) 閲覧数: 95 回

- movingslime.png (1.86 KiB) 閲覧数: 88 回
なんだこれって感じですが、一応スライムです。
動くときに飛び跳ねるように動くような感じにしました。
はっきりいって手抜きですね…。
実際の動くと次のようになります。
(スライムは、チーム色で着色されるようにしています。)

- gameslime.png (10.83 KiB) 閲覧数: 92 回
[youtube]
[/youtube]
気持ち悪いですね。ともあれ、ゲームらしくなったのは確かなはずです。
この勢いで、戦闘を実装していきたい次第です。