조회 수 1912 추천 수 4 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

 


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


 







 


(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객체의 투명 색을 검정으로 선언한다는 뜻입니다.


 






 


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


 


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

?

  1. 게임의 리얼리티화

  2. 바실리어트 3. 메인화면 제작

  3. 바실리어트 4. 소스 준비

  4. [C++] 최단거리 구하는 알고리즘, E log V Dijkstra

  5. [DX/VB] DirectDraw? 별거 아냐! (3) 더블 버퍼의 생성과 블리팅

  6. 0707후반기[제작자포럼]공성결과

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

  8. 초보자를 위한 그래픽 소스 게임에 넣을 때의 팁.

  9. 7월상반기(제작자포럼)공성결과

  10. [DX/VB] DirectDraw? 별거 아냐! (1) DirectDraw객체의 생성과 표면의 생성

  11. 두드리는 미니게임...

  12. [스크립트 문제]RPGXP에서 타일셋의 우선순위 문제 해결

  13. RPGXP 초보강좌 [스위치]

  14. 바실리어트 2. 스크립트 입문

  15. 바실리어트 1. 시작하기 전에

  16. [THDO]판화 세계지도제작 스크립트.

  17. 바실리어트 - 비주얼노벨형 게임 제작용 엔진

  18. 삭제

  19. [C++] 클래스(객체지향) - 기본 생성자와 소멸자

  20. RPGXP의 기본전투 속도를 더욱 빠르게~

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 51 Next
/ 51






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

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