エンジンクラス DrawNumber関数


説明

数字画像を転送する。

フォントは環境によって変化するため、フォントに頼らず数値を描画するための機能。

構文

void DrawNumber(
    const int destX,
    const int destY,
    const DWORD number,
    const int numOfDigits,
    const bool bUseLeadingZero,
    const int sourX,
    const int sourY,
    const int width,
    const int height,
    std::string strFileName
);

パラメータ

destX

	転送を開始するX座標。
destY

	転送を開始するY座標。
number

	描画したい数値(正数)。
numOfDigits

	描画したい桁数。
bUseLeadingZero

	前ゼロ制御(true 前ゼロあり、false なし)。
sourX

	転送元のX座標(画像の'0'の左上座標)
sourY

	転送元のY座標(画像の'0'の左上座標)
width

	数字画像1つ分の幅
height

	数字画像1つ分の高さ
strFileName

	転送元となる画像ファイルのパス付ファイル名。
	GameBase.hにて定数として宣言する。

戻り値

なし

注意

シーンのDraw関数内で実行する事。
転送する画像は2のn乗×2のn乗の正方形でなければならない。
"0123456789 "という並びの画像が必要であり、すべての数字画像の幅および高さは同じでなければならない。
数字画像の右端の空欄は前ゼロなしの際の空白として使う。
負の数値は扱えない。
指定した桁数を超える数値を渡した場合、例外が発生する。

描画までの手順を紹介する。

元画像 Resource\\Texture\\Number.png

元の画像サイズは(256×256ピクセル)

各数字の、幅は20ピクセル、高さは30ピクセルで作成してある。

分かりやすくするため、数字に枠を付け背景を白にしている。

GameBase.hでパス付ファイル名を定数として宣言しておく。
namespace KeyString
{
    const std::string TEXTURE_NUMBER = "Resource\\Texture\\Number.png";
}

テクスチャの追加
m_pEngine->AddTexture(TEXTURE_NUMBER);

前ゼロなし5桁で「123」を転送
m_pEngine->DrawNumber(0, 0, 123, 5, false, 0, 0, 20, 30, TEXTURE_NUMBER);

前ゼロあり5桁で「123」を転送
m_pEngine->DrawNumber(0, 0, 123, 5, true, 0, 0, 20, 30, TEXTURE_NUMBER);


戻る