フォントオブジェクトを使った文字列の表示 †
D3DXCreateFontを使うと、指定したフォントでフォントオブジェクトをDirect3Dデバイス上に作成する事ができ、作成されたフォントオブジェクトを用いて文字列を表示できます。
実際のコード †
フォントオブジェクトの作成 †
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| |
LPDIRECT3DDEVICE lpD3Ddev; LPD3DXFONT lpFont;
if (FAILED(D3DXCreateFont(lpD3Ddev,
16,
0,
FW_NORMAL,
1,
FALSE,
DEFAULT_CHARSET,
OUT_DEFAULT_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH | FF_SWISS,
L"MS Pゴシック",
&lpFont))) {
}
|
表示ロジック †
lpD3Ddev、lpFontが有効な事を前提とします
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| | RECT rect;
rect.left = 50;
rect.top = 50;
rect.right = 250;
rect.bottom = 70;
lpD3Ddev->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_ARGB(0, 0, 0, 0), 1.0f, 0);
lpD3Ddev->BeginScene();
lpFont->DrawText(NULL, L"表示したい文字列", -1, &rect, DT_LEFT | DT_NOCLIP, D3DCOLOR_ARGB(255, 255, 255, 255));
lpD3Ddev->EndScene();
lpD3Ddev->Present(NULL, NULL, NULL, NULL);
|
補足 |
D3DXCreateFontはDirectX9.0c SDKの途中で仕様が変更されており、日本語のヘルプ(旧仕様で書かれている)を見ながら開発している場合、ヘルプ通りに書いているとD3DXCreateFontの仕様が合わない為にコンパイルできないといった事態が発生する場合があります。(2006年7月5日現在)
英語版のヘルプは新しい仕様でかかれている為、英語版のヘルプを見るといいでしょう。
|
ページ情報 | - カテゴリ : DirectX
- 作成日 : 2006-07-05 (水) 03:43:40
- 作成者 : rakuppe?
- 最終編集日 : 2006-07-05 (水) 03:59:24
- 最終編集者 : rakuppe?
|
|