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 Box의 Manual 좌표를 기준으로 설정됩니다.
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)으로 되어있어, 이펙트를 블럭 이미지 중간에 생성하도록 했습니다.
와우! 간단하게 부서지는 블럭이 완성되었습니다.
룸에 배치해보고 제대로 되는지 테스트해봅시다.
(▲테스트 화면)
------------ 예 제 ------------
'GameMaker강좌[GM8] > 액션게임강좌' 카테고리의 다른 글
[게임메이커강좌-플랫폼]간단한 플래폼게임 만들기-5-파트2-점프 높이 조절 (6) | 2013.09.29 |
---|---|
[게임메이커강좌-플랫폼]간단한 플래폼게임 만들기-5-파트1-더블 점프 (15) | 2013.09.26 |
[게임메이커강좌-플랫폼]바운스게임(공튀기기게임) 만들기 (34) | 2013.06.17 |
[게임메이커강좌-플랫폼]간단한 플래폼게임 만들기-4-낙하 트랩 (5) | 2013.06.09 |
[게임메이커강좌-플랫폼]간단한 플랫폼게임 만들기-3-적 구성 (29) | 2013.05.20 |
댓글