2.5 텍스트 표현
게임상에서의 대화, 메뉴항목 등의 텍스트 표현은 DrawFormatString함수를 이용한다. 레퍼런스는 여기를 확인.
선언 |
int DrawFormatString( int x , int y , int Color , char *FormatString , ... ); |
기능 |
텍스트 표시 |
인수 |
int x , y : 문자열이 표시될 좌표 int Color : 텍스트 색 char *FormatString : 서식이 포함된 텍스트의 포인터 ... : 서식이 포함된 텍스트에 관련된 인수 |
세번째 인수의 Color는 색을 지정한다. 색은 GetColor함수를 사용하며 레퍼런스는 여기를 확인.
선언 |
int GetColor( int Red , int Green , int Blue ) ; |
기능 |
칼라코드 획득 |
인수 |
Red , Green , Blue : 색별 휘도치(0~255) |
반환값 |
칼라코드 |
GetColor 사용예
int Col = GetColor( 255, 255, 255 ); |
DrawFormatString의 네번째 인수는 printf함수와 사용법이 비슷하다.
int a=10, b=20; printf("%d와 %d입니다.", a, b ); DrawFormatString( 0, 0, GetColor(255,255,255), "%d와 %d입니다.", a, b); |
사용예제
#include <DxLib.h> int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){ ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK ); int x=0, y=0; int Green = GetColor( 0, 255, 0 ); // 녹색 칼라코드 while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){ DrawFormatString( x, y, Green, "좌표[%d,%d]", x, y ); // 텍스트 처리 x = x + 2; y = y + 1; } DxLib_End(); return 0; } |
실행결과
단, 이처럼 텍스트를 이미지로 처리하는 방법은 자원을 많이 잡아먹기 때문에 문자의 양이 많거나 빠른 처리가 필요한 경우에는 주의가 필요하다. DX라이브러리에서는 이 함수 외에도 폰트를 지정하거나 특정 사이즈로 변경하는 함수도 존재하지만 이는 다음 기회에 설명한다.
'DX라이브러리' 카테고리의 다른 글
2.7 효과음 재생 (0) | 2014.12.23 |
---|---|
2.6 랜덤값을 얻어보자 (0) | 2014.12.23 |
2.4 가산블렌딩 (0) | 2014.12.23 |
2.3 알파블렌딩 (0) | 2014.12.23 |
2.2 이미지 회전, 확대축소 (0) | 2014.12.22 |