이번 강좌에서는 몬스터를 만들어 보도록 해요.
◈ 몬스터 만들기
플레이어와 마찬가지로 상하좌우 방향의 이미지를 준비합니다.
이미지의 크기는 그리드 크기(32x32)입니다.
(▲ 아래쪽 방향)
(▲ 왼쪽 방향)
(▲ 오른쪽 방향)
(▲ 위쪽 방향)
이미지가 준비되었으면 스프라이트 이미지로 추가해요.
(▲ 몬스터 이미지)
오브젝트를 만들 때, 벽 오브젝트와 마찬가지로 몬스터 오브젝트에 부모 오브젝트를 연결해줍니다.
(▲ 오브젝트 구성)
먼저 부모 오브젝트를 하나 만듭니다.
(▲ 몬스터 부모 오브젝트)
몬스터 오브젝트를 만들고, 준비한 몬스터 이미지를 지정합니다.
그리고 그리드 크기의 마스크 이미지를 지정한 후, 부모 오브젝트를 연결해줍니다.
(▲ 몬스터 부모 오브젝트)
[Create 이벤트]에 이동 속도를 정의합니다.
● obj_enemy_01 - Create 이벤트 pspeed = 2; |
다음은 몬스터의 이동 설정입니다.
룸에 배치되었을 때, 이동하도록 합니다.
강좌에서는 가로 방향 이동은 hspeed, 세로 방향 이동은 vspeed로 이동합니다.
● obj_enemy_01 - Create 이벤트 randomize( ); if choose( -1, 1 )<0{ hspeed = choose( -pspeed, pspeed ); } else{ vspeed = choose( -pspeed, pspeed ); } |
[Step 이벤트]를 추가하고, 그리드 위치에 있을 때 랜덤 방향으로 이동하도록 구성합니다.
● obj_enemy_01 - Step 이벤트 if place_snapped( 32, 32 ){ //그리드의 위치에 있을 때 이동 randomize( ); if ( hspeed == 0 ){ if ( random( 3 )<1 && place_free( x-16, y ) ){ hspeed = -pspeed; vspeed = 0; } if ( random( 3 )<1 && place_free( x+16, y ) ){ hspeed = pspeed; vspeed = 0; } } else{ if ( random( 3 )<1 && place_free( x, y-16 ) ){ hspeed = 0; vspeed = -pspeed; } if ( random( 3 )<1 && place_free( x, y+16 ) ){ hspeed = 0; vspeed = pspeed; } } } |
이것은 그리드의 위치에 있을 때, 가로 또는 세로 방향으로 랜덤 이동시키도록 합니다.
플레이어와 마찬가지로 [Step 이벤트]에서 오브젝트의 깊이를 갱신하도록 설정합니다.
● obj_enemy_01 - Step 이벤트 depth = -(y+32); |
이동 방향이 결정되었으면, 방향에 따른 이미지를 갱신해주어야겠지요.
● obj_enemy_01 - Step 이벤트 var dir; dir = ( round( direction*( 1/90 ) )*90 ) mod 360; //방향 if dir == 0{ sprite_index = spr_enemy_01_right; } //오른쪽 if dir == 90{ sprite_index = spr_enemy_01_up; } //위쪽 if dir == 180{ sprite_index = spr_enemy_01_left; } //왼쪽 if dir == 270{ sprite_index = spr_enemy_01_down; } //아래쪽 image_speed = 0.2; //애니메이션 속도 |
몬스터가 벽에 부딪혔을 때는 이동을 반대방향으로 전환하도록 합니다.
● obj_enemy_01 - obj_block_parent 와의 충돌 이벤트 hspeed * = -1; vspeed * = -1; |
몬스터가 제대로 이동하는지 룸에 배치하고 테스트해 봅시다.
(▲ 룸에 배치)
(▲ 테스트)
'GameMaker강좌[GMS2] > 액션게임강좌' 카테고리의 다른 글
[게임메이커 강좌-액션][GMS2]봄버맨 만들기-6 : 점수 표시 및 상단 인터페이스 (0) | 2022.02.04 |
---|---|
[게임메이커 강좌-액션][GMS2]봄버맨 만들기-5 : 게임오버와 클리어 (0) | 2022.02.04 |
[게임메이커 강좌-액션][GMS2]봄버맨 만들기-4 : 폭탄 만들기 (0) | 2022.02.03 |
[게임메이커 강좌-액션][GMS2]봄버맨 만들기-2 : 이동 (0) | 2022.02.02 |
[게임메이커 강좌-액션][GMS2]봄버맨 만들기-1 : 준비 (0) | 2022.02.01 |
댓글