RPG Maker
2009.09.06 19:13

다운로드

조회 수 761 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
다운로드

VC만으로 게임을 만들 때 그림 처리가 상당히 곤란하시죠? 리소스로 넣자니 실행파일 크기가 커지고, 비트맵 파일로 불러들일려고 해도 상당히 귀찮잖아요. (아니라고 하시면 곤란-_-;)



PNG 타입의 그림 파일은 여러분도 잘 아시다시피 RPG만들기 2000부터 지원해온 그림 파일입니다. 이런 파일을 간편하게 DC 형태로 바꿔주는 라이브러리...의 소스입니다.



사용하실 때는 컴파일 결과의 DLL파일과 동봉된 두 DLL파일과 헤더파일 두개를 모두 한곳에 몰아넣고 Image.h만 인클루드 해서 쓰시면 됩니다.



메소드를 살펴보지요.

CImage::Get*()

이놈들은 그림파일을 연 다음에 GDI 오브젝트들을 사용하고 싶을 때 호출하는 함수가 되겠습니다.

CImage::OpenImgFile(LPCTSTR szFileName, BOOL bSprite = TRUE)

이놈이 핵심인데요, 이놈은 그림파일을 열어서 DIB 사양의 GDI 오브젝트를 만들어줍니다.



간단한 사용법이라고 한다면, 예제를 들면 되겠네요.



#include <windows.h>
#include "Image.h"

void main()
{
HDC hdcScr;
CImage image;
int x, y, w, h;

image.OpenImgFile("test.png"); // 그림파일을 열고
x = (1024 - image.GetBitmapInfo()->bmiHeader.biWidth) / 2, // image.GetBitmapInfo()는 그림에 대한 각종 정보가 들어 있는 구조체의 포인터를 리턴. BITMAPINFO 구조체
y = (768 - image.GetBitmapInfo()->bmiHeader.biHeight) / 2,
w = image.GetBitmapInfo()->bmiHeader.biWidth,
h = image.GetBitmapInfo()->bmiHeader.biHeight;

hdcScr = GetDC(NULL); // DC를 받아서
if(image.HasAlpha()) // 투명색이 있다면
{
  BitBlt(hdcScr, x, y, w, h, *image.GetMaskImage(), 0, 0, SRCAND); // 마스크를 찍어주고
}
BitBlt(hdcScr, x, y, w, h, image, 0, 0, image.HasAlpha() ? SRCPAINT : SRCCOPY); // 그 위에 그림을 뾱[...]

ReleaseDC(NULL, hdcScr);
}



뭐, 대충 이런 느낌으로 쓰시면[...]



소스 파일에는 상당히 자세하게 주석을 단다고 달아뒀으니[...] 아마 이해하는데 큰 어려움은 없을거라고[...]



참, 컴파일 하실 때는 Win32 Dynamic-Link Library로 프로젝트를 생성하셔서 쓰셔야 할겁니다~_~ 그리고 동봉된 lib파일도 필수로 삽입을..



ps. 테스트 환경은 펜티엄 M 프로세서 1.5기가헤르츠, 윈도우즈 엑스피였고, 문제 없이 잘 돌아갔습니다.

ps2. 동봉된 DLL 파일은 각각 libpng.org, zlib.net에서 소스를 받아서 Win32 DLL ASM Release 에서 컴파일했습니다.

ps3. 이걸로 조만간 어떠한 게임이 만들어질 예정[...]
?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
196 RPG Maker 랜덤 시점..이란건 어떨까요. shelphie 2006.04.13 514
195 RPG Maker 똑같은 게임은 이제 그만.... 1 다크아머 2006.04.19 715
194 RPG Maker 데이터베이스 설명 선백 2005.07.17 1079
193 RPG Maker 데미지의 최소값, 최대값을 설정해보자! ver 1.0 『연금술사』 2007.01.07 1466
192 RPG Maker 던전과 랭크 시스템을 만들어 보자.[스샷] file 야미토츠바사 2005.08.29 1123
191 RPG Maker 대화창의 무궁무진한 발전 [수정] Norid 2005.06.09 1941
190 RPG Maker 대화창을 화사하게 장식해볼까요? 장식은 정말 쉽죠? 노친네 2006.08.17 1748
» RPG Maker 다운로드 1 zl게임을만들고파 2009.09.06 761
188 RPG Maker 다들 연세가 어떻게들 되시나요 MrGeek 2006.08.18 1086
187 RPG Maker 노가다성 레벨업하기.. [맑은미소] 2006.06.09 581
186 RPG Maker 노가다가 필요 없는 무기 RPG 형식.[액션 알피지]Rpg2k 페라도 2006.03.31 777
185 RPG Maker 넷플레이 스크립트 2.0 사용법 3 독도2005 2009.05.03 3170
184 RPG Maker 날씨/구름/안개/바람 등 file 설사즙 2010.07.12 997
183 RPG Maker 나름대로 게임제작1 - 시나리오 작성법 켈리시 2006.12.26 1447
182 RPG Maker 나도 인정받는 제작자가 될수있다 !! - 1 편 - 다크세이버™ 2005.08.27 1304
181 RPG Maker 나도 인기작 도전이닷 !! 다크세이버™ 2005.10.02 1138
180 RPG Maker 꼬마 캐릭터 쯔 꾸르 비형랑 2012.10.01 2576
179 RPG Maker 기존의 마법 속성에서 벗어나자 미카엘net 2006.04.03 534
178 RPG Maker 기본메뉴샘플 [액션RPG] file 싸이클론 2005.07.01 2144
177 RPG Maker 그때 그때 다르냐 .. ㅇㅅㅇ MiNi'M' 2005.10.06 495
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 15 Next
/ 15






[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)