DX라이브러리2014. 12. 23. 12:33

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
Posted by 캡슐리어