GAME MAKER 강좌
KAYAN
◈ 이미지를 부분적으로 잘라서 표시하기
이번 강좌에서는 이미지를 부분적으로 잘라 화면에 표시하는 방법에 대해 알아보도록 합시다.
아래 함수는 이미지를 부분적으로 잘라 표시하고자 할 때 사용합니다.
draw_sprite_part(sprite,subimg,left,top,width,height,x,y) |
이것은 리소스를 실제로 직접 잘라내는 것이 아니라, 화면에 부분적으로 표시만 하는 것입니다.
이 함수는 아래 화면과 같은 형식으로 이미지를 자릅니다.
(▲ draw_sprite_part 함수. left 는 가로 시작 위치, top은 세로 시작 위치)
left 는 잘라낼 이미지의 가로 시작 위치, top 은 이미지의 세로 시작 위치가 됩니다. left 와 top 은
잘라낼 이미지의 기준(중심점)점으로 생각하시면 됩니다..
그리고 width 는 잘라낼 넓이, height 는 높이를 지정하면 되고, (x,y) 는 화면에 표시할 위치를
지정하면 됩니다.
예를 들어 아래 화면과 같은 이미지가 있을 때,
(▲ 잘라내고자 하는 이미지)
이미지에서 잘라낼 위치가 left (기준이 되는 가로 위치)는 210, top (기준이 되는 세로 위치)은 60,
넓이는 62, 높이는 64 만큼 잘라서 오브젝트의 (x,y) 위치에 표시한다면,
//스프라이트 이미지 spr_charset, 서브이미지 0 번에서 잘라서 표시할 때, |
이와 같이, Draw 이벤트에서 표시할 수 있습니다.
실제로 표시될 때는 이미지에 설정한 중심점이 무시되고, (left,top)이 이미지의 중심점(0, 0)이 됩니다.
이것을 응용하면 아래 화면과 같은 체력 게이지도 표시할 수 있습니다.
(▲ 우측 상단의 체력 게이지)
예를 들어 아래와 같이,
(▲ 체력 게이지 이미지, 위는 뒷배경, 아래는 게이지 부분)
위와 같이 240 x 64 이미지가 있고, 뷰 0번 화면의 (32,16) 위치에 표시하고 싶다면,
//spr_hp 가 체력 게이지 이미지이고, 뒷 배경은 서브이미지 0번, 게이지 부분은 1번이고, //게이지 부분에 좌우 각각 3픽셀씩 빈공간이 있는 이미지 일 때,
|
이와 같이 draw_sprite_part 함수에서 width 부분을 조절하면 체력 게이지처럼 표시할 수 있어요.
체력 게이지 이미지 증감 부분에 빈공간이 있을 때, 그 위치를 제외하면, 좀 더 정확하게 표시할 수 있습니다.
'GameMaker강좌[GM8] > 기초강좌' 카테고리의 다른 글
[게임메이커강좌-기초] 3D 사운드 재생 (2) | 2017.01.03 |
---|---|
[게임메이커강좌-기초] 사운드 재생 (2) | 2017.01.02 |
[게임메이커강좌-기초] 충돌 체크 함수 2 (1) | 2016.12.15 |
[게임메이커강좌-기초] 충돌 체크 함수 1 (0) | 2016.12.15 |
[게임메이커강좌-기초] 충돌 체크와 충돌 이벤트 (0) | 2016.12.13 |
댓글