본문 바로가기
GameMaker강좌[GM8]/액션게임강좌

[게임메이커강좌-플랫폼]바운스게임(공튀기기게임) 만들기-추가(부서지는 블럭)

by 타락카얀 2013. 8. 16.
728x90

 

 

GAME MAKER 강좌

 

 

KAYAN

 

 

이번에는 부서지는 블럭에 대해 설정해보도록 해요.

 

 

(▲부서지는 블럭)


이 부서지는 블럭은 플레이어가 뛰어 블럭에 닿게 되면 플레이어는 한번 튀게 되고, 블럭은 부서져

없어지게 됩니다.
이 원리 자체는 간단하니 한번 따라해봅시다.





 

 

 

 

◈부서지는 블럭(obj_bl_dest)

 


먼저 부서지는 블럭으로 사용할 이미지를 준비하고, 스프라이트로 추가(spr_block_dest)합니다.

 

 

(▲블럭 이미지)


중심점은 룸에 배치하기 편하도록 (0,0)으로 맞추었습니다.

다음은 이 부서지는 블럭으로 사용할 오브젝트(obj_bl_dest)를 하나 만듭니다.

 

(▲부서지는 블럭오브젝트)


Sprite에 이전에 준비한 스프라이트를 지정하고, Parent에 블럭의 Parent(obj_block)를 지정합니다.
그리고 Solid를 체크하세요.

이제 플레이어 오브젝트(obj_player)와의 충돌 이벤트를 추가하고, 아래와 같이 이벤트를 작성합니다.

 

 

     ★ obj_bl_dest - obj_player와의 충돌 이벤트

     if other.bbox_bottom<=bbox_top{
     instance_destroy();
     }



이것은 블럭의 충돌 경계선중 블럭 윗경계선(bbox_top)이 플레어어(other)의 아랫경계선(bbox_bottom)보다
아래에 있을 때 블럭은 파기된다는 이벤트입니다.
이미 플레이어(obj_player)의 블럭(obj_block)과 충돌 이벤트에서 한번 바운스되게 이벤트를 작성했기

때문에, 부서지는 블럭과 충돌 했을 때 바운스된 후에 블럭은 부서지게 될 것입니다.

※[참고]
오브젝트 충돌 경계선의 좌표를 따로 사용할 수 있습니다.
이것은 스프라이트의 마스크 설정에 있는 Bounding BoxManual 좌표를 기준으로 설정됩니다.
bbox_left : 왼쪽 충돌 경계선
bbox_right : 오른쪽 충돌 경계선
bbox_top : 윗쪽 충돌 경계선
bbox_bottom : 아랫쪽 충돌 경계선

블럭이 파기 될때 이펙트를 생성하도록 만들어 볼까요.
블럭의 Destroy이벤트를 추가하고, 아래와 같이 이벤트를 작성하도록 해요.

 

 

     ★ obj_bl_dest - Destroy 이벤트

     i=0;repeat(8){
     it=instance_create(x+16,y+16,obj_effect);
     it.direction=i;

     it.speed=3;
     it.friction=0.2;
     i+=360/8;

     }


이미 플레이어의 Destroy 이벤트에서도 한번 해보았죠.
넵. 그것과 비슷한겁니다.
블럭이 중심점이 (0,0)으로 되어있어, 이펙트를 블럭 이미지 중간에 생성하도록 했습니다.

와우! 간단하게 부서지는 블럭이 완성되었습니다.
룸에 배치해보고 제대로 되는지 테스트해봅시다.

 

 

(▲테스트 화면) 








 

------------ 예 제 ------------

 

bounceX_1-2.gmk
다운로드

 

bounceX_1-2.exe
다운로드

 

 

 

300x250

댓글