메뉴 건너뛰기

창조도시 기록보관소

언어 [DX/VB] DirectDraw? 별거 아냐! (2) 블리팅, 그리고 투명도

2007.07.30 06:19

악희 조회 수:570 추천:4

 


어제는 좀 바빠서 글을 못 올렸네요;;;


 







 


(2) 블리팅, 그리고 투명도


 


1. 블리팅


 


우선..블리팅이 무엇이냐?


 


간단히 DirectDraw 표면에 그림을 그려주는 것 이지요...


 


DirectDrawSurface7객체의 블리팅 함수에는 여러가지가 있는데... 몇가지만 알아보겠슴다.


 


1) Blt함수


 


기본 블리터입니다. 크기 조절도 해주고 투명도도 넣어주지만 크기조절은 되도록 안 하는것이 좋습니다.(느려요)


 


 


Blt( destRect As RECT, ddS As DirectDrawSurface7, srcRect As Rect, flags As CONST_DDBLTFLAGS ) As Long

 


 


destRect는 복사될 위치(왼쪽,위,오른쪽,아래 를 나타내는 RECT구조체로 나타냅니다) DirectDrawSurface는 Source(원본) 표면 객체, srcRect는 Source객체의 복사될 부분, flags는 옵션을 나타냅니다.


 


2. BltFast 함수


 


배경이 잘리는 현상을 고려하지 않고 원본을 대상으로 복사하는 블리팅 함수입니다.


더블 버퍼 등의 이미지를 빨리 그릴때 쓰입니다.


 


BltFast(dx As Long, dy As Long, ddS As DirectDrawSurface7, srcRect As Rect, trans As CONST_DDBLTFLAGS ) As Long

 


3. BltColorFill함수


 


어떤 표면을 특정 색으로 채울때 쓰는 함수입니다.


 


 


BltColorFill( destRect As RECT, fillvalue As Long ) As Long


2) 투명도


 


Blt함수를 이용해서 투명도를 나타내려면 우선 색상 키를 생성해야 합니다.


Private ddcColorKey As DDCOLORKEY
ddcColorKey.low=0
ddcColorKey.high=0
ddSurface.SetColorKey DDCKEY_SRCBLT, ddcColorKey

 


 


위는 low색을 0, high색을 0으로 하여 검정색을 투명으로 ddSurface객체의 투명 색을 검정으로 선언한다는 뜻입니다.


 






 


이번 강좌는 꽤 짧군요.. 이번 시간에는 블리팅과 투명도에 대해서 알아보았습니다.


 


다음 강에서는 더블 버퍼의 생성과 블리팅, 스프라이트 그리기에 대해서 알아보겠습니다.

번호 제목 글쓴이 날짜 조회 수
429 [덧붙임] 변수번호의 스위치 사용은 되도록이면 자제 [1] A. 미스릴 2007.10.15 503
428 RPG에 자주 있는것들 [15] ⓦildⓡose★ 2007.09.26 1514
427 [한단계 도약]변수 번호의 변수 [5] A. 미스릴 2007.09.21 643
426 한가지 경우에만 적용되는 경험치 게이지바 [7] file 베넘 2007.09.21 616
425 [한단계 도약] 변수 번호의 스위치 [6] A. 미스릴 2007.09.12 653
424 [한단계 도약] 되풀이 처리 [2] A. 미스릴 2007.09.12 449
423 RPG 2K시리즈에서도 Script의 사용이 가능합니다. [9] 타다기 2007.08.21 1103
422 귀찮아‡님의 자동세이브 스크립트의 한글화 [3] J.Clifford 2007.08.19 617
421 가장 보편적인 범위 좌표 설정하기. [6] 아싸사랑 2007.08.15 852
420 간단팁) XP에서 1초는 몇프레임인가? [4] 유진 2007.08.08 993
419 대기중에 캐릭터가 움직이게/못움직이게 하려면? [2] 유진 2007.08.08 679
418 게임의 리얼리티화 [3] 유진 2007.08.05 1248
417 [C++] 최단거리 구하는 알고리즘, E log V Dijkstra [2] 악희 2007.08.01 749
416 [DX/VB] DirectDraw? 별거 아냐! (3) 더블 버퍼의 생성과 블리팅 [2] 악희 2007.08.01 624
415 0707후반기[제작자포럼]공성결과 [5] 천무 2007.08.01 401
» [DX/VB] DirectDraw? 별거 아냐! (2) 블리팅, 그리고 투명도 [1] 악희 2007.07.30 570
413 [DX/VB] DirectDraw? 별거 아냐! (1) DirectDraw객체의 생성과 표면의 생성 [3] 악희 2007.07.27 631
412 게시판 이용 및 라이센스 공지 J.Clifford 2007.07.23 521
411 두드리는 미니게임... [3] JIN[晉] 2007.07.22 565
410 7월상반기(제작자포럼)공성결과 천무 2007.07.16 358