´Ù.´õºí ¹öÆÛ¸µ Ȱ¿ë

È­¸é ±ô¹ÚÀÓÀÌ ¹ß»ýÇÏ´Â ¿øÀο¡ ´ëÇØ ¿¬±¸ÇØ º¸¾Ò°í ±× ÇØ°áÃ¥À¸·Î ´õºí ¹öÆÛ¸µÀ̶ó´Â ¸ÚÁø ¹æ¹ýÀ» ¼Ò°³Çß´Ù. ±×·¸´Ù¸é ´õºí ¹öÆÛ¸µÀ» °ú¿¬ ¾ðÁ¦ ¾î¶»°Ô »ç¿ëÇØ¾ß Àß È°¿ëÇß´Ù°í ¼Ò¹®ÀÌ ³¯±î? ´õºí ¹öÆÛ¸µÀÇ ¿ëµµ´Â ²À È­¸é ±ô¹ÚÀÓÀ» Á¦°ÅÇϴµ¥¸¸ ÀÖ´Â °ÍÀº ¾Æ´Ï´Ù. ³»ºÎ ¹öÆÛ¿¡¼­ Æ´Æ´ÀÌ ÀÛ¾÷À» ÇÒ ¼ö ÀÖÀ¸¹Ç·Î ¾ÆÀ̵é(Idle) ½Ã°£À» Ȱ¿ëÇϱâ À§Çؼ­ »ç¿ëÇÒ ¼öµµ ÀÖ°í ³»ºÎ ¹öÆÛ¸¦ ¿ÜºÎ ¹öÆÛº¸´Ù ´õ Å©°Ô ¸¸µé¾î ½ºÅ©·Ñ¿¡ Ȱ¿ëÇÒ ¼öµµ ÀÖ´Ù.

¿©±â¼­´Â ´õºí ¹öÆÛ¸µÀÇ ¿ø¸®¿¡ ´ëÇØ¼­¸¸ ÀÌÇØÇϵµ·Ï ÇÏ°í ½Ç¹«¸¦ ÇÒ ¶§ ´õºí ¹öÆÛ¸µÀ» ¾²¸é ÁÁ°Ú´Ù´Â »ý°¢ÀÌ µé¸é Àû±ØÀûÀ¸·Î Ȱ¿ëÇØ º¸±â ¹Ù¶õ´Ù. ´ÙÀ½ ¿¹Á¦´Â ´õºí ¹öÆÛ¸µÀ» Ȱ¿ëÇÑ °» È­¸éÀÌ´Ù. °»(Gang) È­¸éÀ̶õ ÇÁ·Î±×·¥ Á¦ÀÛÀÚ¸¦ ¼Ò°³ÇÏ´Â ¿ëµµ¸¦ °¡Áö¸ç ÀϹÝÀûÀ¸·Î ¼û°ÜÁ® ÀÖÁö¸¸ Á¦ÀÛÀÚ ÀÚ½ÅÀ» Ç¥ÇöÇÑ´Ù´Â ¸é¿¡ ÀÖ¾î ´Ù¼Ò ¸ÚÀ» Á» ºÎ¸®´Â °æÇâÀÌ ÀÖ´Ù. ÀÌ ¿¹Á¦´Â ¹è°æ ºñÆ®¸ÊÀ» ±ò°í ±× À§¿¡¼­ Á¦ÀÛÀÚ ¸ñ·ÏÀ» À§·Î ½ºÅ©·ÑÇÏ´Â ¿¹¸¦ º¸¿©ÁØ´Ù.

 

#include "resource.h"

HBITMAP hBit, hBaby;

TCHAR szGang[]="Gang Version 1.0\r\n\r\nÃÑ °¨µ¶ : ±è Á¤¼ö\r\n"

"°³¹ßÀÚ : ±è »óÇü\r\n»çÁø ¸ðµ¨ : ±è Çѽ½\r\nÇùÂù : ¹Ú ¹Ì¿µ";

int my;

 

void DrawBitmap(HDC hdc,int x,int y,HBITMAP hBit)

{

HDC MemDC;

HBITMAP OldBitmap;

int bx,by;

BITMAP bit;

 

MemDC=CreateCompatibleDC(hdc);

OldBitmap=(HBITMAP)SelectObject(MemDC, hBit);

 

GetObject(hBit,sizeof(BITMAP),&bit);

bx=bit.bmWidth;

by=bit.bmHeight;

 

BitBlt(hdc,0,0,bx,by,MemDC,0,0,SRCCOPY);

 

SelectObject(MemDC,OldBitmap);

DeleteDC(MemDC);

}

 

void OnTimer()

{

RECT crt;

HDC hdc,hMemDC;

HBITMAP OldBit;

HFONT font, oldfont;

RECT grt;

int i,j;

 

GetClientRect(hWndMain,&crt);

hdc=GetDC(hWndMain);

 

if (hBit==NULL) {

    hBit=CreateCompatibleBitmap(hdc,crt.right,crt.bottom);

}

hMemDC=CreateCompatibleDC(hdc);

OldBit=(HBITMAP)SelectObject(hMemDC,hBit);

 

DrawBitmap(hMemDC,0,0,hBaby);

SetBkMode(hMemDC,TRANSPARENT);

 

font=CreateFont(30,0,0,0,0,0,0,0,HANGEUL_CHARSET,3,2,1,

    VARIABLE_PITCH | FF_ROMAN,"±Ã¼­");

oldfont=(HFONT)SelectObject(hMemDC,font);

 

my--;

if (my==20) {

    KillTimer(hWndMain,1);

}

 

SetTextColor(hMemDC,RGB(192,192,192));

for (i=-1;i<=1;i++) {

    for (j=-1;j<=1;j++) {

       SetRect(&grt,10+i,my+j,400+i,my+300+j);

       DrawText(hMemDC,szGang,-1,&grt,DT_WORDBREAK);

    }

}

 

SetTextColor(hMemDC,RGB(32,32,32));

SetRect(&grt,10,my,400,my+300);

DrawText(hMemDC,szGang,-1,&grt,DT_WORDBREAK);

 

SelectObject(hMemDC,oldfont);

DeleteObject(font);

 

SelectObject(hMemDC,OldBit);

DeleteDC(hMemDC);

ReleaseDC(hWndMain,hdc);

InvalidateRect(hWndMain,NULL,FALSE);

}

 

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)

{

HDC hdc,hMemDC;

PAINTSTRUCT ps;

HBITMAP OldBit;

RECT crt;

 

switch(iMessage) {

case WM_CREATE:

    hBaby=LoadBitmap(g_hInst,MAKEINTRESOURCE(IDB_BITMAP1));

case WM_LBUTTONDOWN:

    SetTimer(hWnd,1,70,NULL);

    my=310;

    return 0;

case WM_TIMER:

    OnTimer();

    return 0;

case WM_PAINT:

    hdc=BeginPaint(hWnd, &ps);

    GetClientRect(hWnd,&crt);

    hMemDC=CreateCompatibleDC(hdc);

    OldBit=(HBITMAP)SelectObject(hMemDC, hBit);

    BitBlt(hdc,0,0,crt.right,crt.bottom,hMemDC,0,0,SRCCOPY);

    SelectObject(hMemDC, OldBit);

    DeleteDC(hMemDC);

    EndPaint(hWnd, &ps);

    return 0;

case WM_DESTROY:

    if (hBit) {

       DeleteObject(hBit);

    }

    DeleteObject(hBaby);

    PostQuitMessage(0);

    KillTimer(hWnd,1);

    return 0;

}

return(DefWindowProc(hWnd,iMessage,wParam,lParam));

}

 

½ÇÇà °á°ú´Â ´ÙÀ½°ú °°´Ù. ¿òÁ÷ÀÌ´Â È­¸éÀ̹ǷΠÁ÷Á¢ ½ÇÇàÇØ ºÁ¾ß °á°ú¸¦ º¼ ¼ö ÀÖ´Ù. ¿¹»Û ¾Æ±â ±×¸²ÀÌ ÀÖ°í ¾Æ·¡¿¡¼­ ¹®ÀÚ¿­ÀÌ ÃµÃµÈ÷ À§·Î ¿Ã¶ó¿À´Â µ¿ÀÛÀ» ÇÑ´Ù.

  

¹®ÀÚ¿­Àº ¹Ù±ùÂÊ¿¡ ȸ»ö Å׵θ®¸¦ °¡Áöµµ·Ï ÇßÀ¸¸ç º¸±â ÆíÇϵµ·Ï Å­Á÷ÇÑ ÆùÆ®¸¦ »ç¿ëÇß´Ù. ºñÆ®¸Ê À§¿¡¼­ ±ÛÀÚ°¡ ¿òÁ÷ÀÌÁö¸¸ ±ô¹ÚÀÓÀº ÀüÇô ¾øÀ¸¸ç ¾ÆÁÖ ºÎµå·´°Ô ½ºÅ©·ÑµÇ´Â °ÍÀ» º¼ ¼ö ÀÖ´Ù. ¸¸¾à ÀÌ·± È­¸éÀ» ´õºí ¹öÆÛ¸µÀ¸·Î ó¸®ÇÏÁö ¾Ê´Â´Ù¸é ¹è°æ ºñÆ®¸Ê°ú ±×¸²ÀÌ °è¼Ó ¹Ýº¹ÀûÀ¸·Î È­¸é¿¡ ³ªÅ¸³ª±â ¶§¹®¿¡ ±ô¹ÚÀÓÀÌ ½ÉÇØÁö°í °» È­¸éÀ¸·Î¼­ °¡Ä¡°¡ ¶³¾îÁú °ÍÀÌ´Ù.

Á» ´õ Äڵ带 ÀÛ¼ºÇÑ´Ù¸é ±ÛÀÚµéÀÌ ¿À¸¥ÂÊ¿¡¼­ ¿ÞÂÊÀ¸·Î ÇÑ ÁÙ¾¿ ³¯¶ó ¿Àµµ·Ï ÇÒ ¼öµµ ÀÖ°í Á¡Á¡ È®´ëµÇ´Â ¸ð¾çÀ¸·Î ¸¸µé ¼öµµ ÀÖ´Ù. ¶Ç´Â ¾à°£ÀÇ ¾Ö´Ï¸ÞÀ̼ÇÀ» ÷°¡ÇѴٰųª ±ÛÀÚÀÇ »ö»óÀ» Á¶ÀÛÇÏ¿© Fade In, Fade Out µîÀÇ Àå¸é Àüȯ È¿°ú¸¦ ³¾ ¼öµµ ÀÖ´Ù. ¾Æ¹¸µç ´õºí ¹öÆÛ¸µÀ» ¾²±â¸¸ ÇÏ¸é ¾î¶°ÇÑ ¸ð¾çµµ ±ò²ûÇÏ°Ô È­¸éÀ¸·Î ±¸ÇöÇÒ ¼ö ÀÖÀ¸¹Ç·Î ±â¹ßÇÑ »ó»ó·ÂÀ» ¹ßÈÖÇØ º¼¸¸ÇÏ´Ù.