1999년 10월 07일 목요일 제작노트

어제는 병원에( 정신병원 크크) 갔다가 아르바이트

자리가 없나 어슬렁 대고 들어 와서는 자버렸습니다.

아.. 정말로 싫다.

이렇게 짜증이 나는 세상이라니.. 

오늘도 그렇게 평탄하지만은 않을것 같지만

그래도 게임 만드는 것은 계속 되어야 한다는 생각에

컴퓨터 앞에 앉았습니다. 푸~

지금은 오후 위의 글을 쓰고 얼마 후 입니다.

제빵학원에 갔었습니다.

컴퓨터로 이루지 못한것을 빵으로 이룰 수 있다면

(푸..하.... 정말로 미쳤나 보다)

모든지 시도해 보라는 정신과 의사 선생님의 말씀이

커다란 위한이 됩니다. (정신병자 마져요!)

그리고 제빵학원에서의 느낌 아직 늦지 않았다는

느낌이 저를 다소 흥분 시킵니다..

이제 어머니와의 관계만 매끄러워 질 수 있다면

좋겠는데.. 돈문제 때문에 쉽지만은 않을것 같습니다.

푸~~ 어떻게든 되겠죠.. 자 그럼 게임을 계속 만들도록

하겠습니다.

======================================
이미지를 띄어 보자.
======================================

이제 그림을 화면에 띄어 볼까 합니다.

그림을 우선 구해야 하는데 저는 스타크래프트 화면을 캡처한 후

편집해서 쓰려고 합니다.

일단 '이미지'라는 폴더에 가셔서 bmp화일을 찾아 구경해 보시기

바랍니다.

병사 그림이 있을 겁니다.

이 이미지는 5컷으로 되어 있고 32*32크기 입니다.

5컷이라 32*160이 된것이죠.. 이 이미지 전체를 우선 화면에

찍어 보려고 합니다.

이것을 찍기 위해 이미지를 저장해올 메모리 가 필요 합니다.

이 메모리를 표면이라고 하고...

아무튼 이미지를 불러 놓을 임시 저장 장소 표면을 만드는

함수 _CreateSurface라는 함수를 DirectDraw클래스에 만들었습니다.

그런 연후에 역시 DirectDraw클래스에 이미지를 로드해 오는 함수

_LoadImage를 만들었습니다. 헉헉헉..

여기까지 따라 오셨다면 그다음은 화면에 출력 하는 것이죠.

전역 변수로 LPDIRECTDRAWSURFACE g_pDDS_Image를

하나 잡아 놓고 그것을 Init에서 초기화 했습니다.

g_pDDS_Image = g_pDirectDraw->_CreateSurface()이런 식으

로 하면 됩니다. 그리고 _LoadImage 함수로 이미지를 읽어 놓고

UpdateFrame이라는 전역 함수에 연결하는 거죠.

소스가 많이 복잡해 졌습니다. 하지만 이런 방식으로 계속

될것이라 의문 사항이 있으면 메일로 주세요.

========================================
애니메이션을 시켜 보자
========================================

이제는 애니메이션을 시켜 보겠습니다.

이미 이미지를 읽어 와서 화면에 출력하는 것을 할 수 

있기 때문에 애니메이션은 구조적으로만 손을 보면 가능

할 것 같습니다.

Character라는 클래스를 만들려고 합니다.

이 클래스는 캐릭터만 전담하는 클래스가 될것 입니다.

이 클래스는 DirectDraw 클래스를 상속 받습니다.

왜냐하면 그래야 이 클래스 안에서 표면도 생성하고

이미지도 읽어 올 수 있기 때문입니다.

그리고는 스타크래프트에서 화면 캡처를 몇장 더 받아서

m_pDDS_Image[4] 라는 표면 에다가 읽어 들여 놓고

BltCharacter라는 멤버 함수를 만들어 화면 출력을 

시도 했습니다.

크크... 잘 돌아 갑니다...

만든 클래스를 연결 하는 것은 조금 많이 복잡해 졌지만

잘 하시리라 생각 합니다. 역시 궁금하신것은 메일로 주세요.


