25:スプライトアニメーションの応用

 フレーム指定で対象の範囲を抜き取る前回の方法を応用すれば、簡単なオリジナルフォントの描画もできます。フレームの位置とANSI文字コードを一致するようにすれば、そのまま文字列を表示させることが可能となります。

 特定のフォントからテクスチャイメージを作成するツールはインターネット上で割合多く出回っていますので、「texture font」でgoogle検索してみるのもひとつの手です。
class CDrawTextTest : public CGameObject
{
private:
    CTexture tex;
    CSprite sprite;
    char message[128];
protected:
    void Init();
    void Exec();
};
#include "font.h"

void CDrawTextTest::Init()
{
    tex.Load(_T("font.png"));
    sprite.SetTexture(&tex);
    sprite.SetSpriteSize(32, 32);
    strcpy_s(message, 128, "It's a font test.");
}

void CDrawTextTest::Exec()
{
    int i = 0;
    while(message[i] != '\0'){
        sprite.SetFrame(message[i]);
        sprite.Draw(50.0f + (float)(i * 32), 100.0f);
        i++;
    }
}

 実行結果はこのようになります。