GAME MAKER 강좌
KAYAN
◈ 두더지 만들기(obj_enemy_01)
두더지를 먼저 만들어 봅시다.
필요한 리소스들을 스프라이트 이미지로 추가합니다.
필요한 애니메이션 이미지는 4종류입니다.
첫번째는 서 있는 모습
두번째는 땅 속에서 위로 나오는 모습
세번째는 다시 땅 속으로 들어가는 모습
네번째는 유효타를 맞았을 때의 모습입니다.
이미지의 크기는 동일하면 설정하기가 좋습니다.
먼저 서 있는 모습을 추가합니다. 중심점을 가운데 아래쪽에 위치하도록 합니다.
(▲ 서 있는 모습)
그리고 충돌 마스크를 설정합니다.
(▲ 충돌 마스크 설정)
충돌 마스크 타입은 Precise Per Frame 을 선택합니다.
이 기능은 마스크를 프레임 단위(이미지 모양)로 체크할 수 있는 기능입니다.
애니메이션 타입에 서브 이미지들의 이미지 모양이 제각각일 때 유용한 기능입니다.
다음은 땅 속에서 위로 나오는 모습을 추가합니다. 마찬가지로 중심점을 가운데 아래쪽에 위치하도록 합니다.
(▲ 땅 속에서 위로 나오는 모습)
그리고 충돌 마스크 설정의 마스크 타입은 Precise Per Frame 을 선택합니다.
반대로 다시 땅 속으로 들어가는 모습을 추가합니다. 중심점을 가운데 아래쪽에 위치하도록 합니다.
마찬가지로 충돌 마스크 설정의 마스크 타입은 Precise Per Frame 을 선택합니다.
(▲ 다시 땅 속으로 들어가는 모습)
마지막으로 유효타를 맞았을 때의 모습을 추가합니다. 중심점을 가운데 아래쪽에 위치하도록 합니다.
이 이미지는 이펙트 효과이므로 충돌 마스크 설정할 필요는 없습니다.
(▲ 유효타를 맞았을 때의 이미지)
두더지를 총괄할 부모 오브젝트를 하나 만듭니다.
(▲ 부모 오브젝트)
오브젝트의 이름은 다른 곳에서 참조하기 쉬운 이름으로 짓는 것이 좋습니다.
강좌에서는 간단하게 obj_enemy_parent 로 짓겠습니다.
그리고 두더지 오브젝트를 하나 만듭니다.
(▲ 두더지 오브젝트)
오브젝트의 이름은 obj_enemy_01 로 하겠습니다.
두더지 오브젝트를 생성했을 때, 제일 먼저 모습을 보이는 것은 땅 속에서 나오는 모습입니다.
그렇기 때문에 오브젝트의 스프라이트는 땅 속에서 나오는 모습을 먼저 지정합니다.
Parent 를 눌러 이전에 만든 부모 오브젝트(obj_enemy_parent)를 지정해줍니다.
(▲ 부모 오브젝트 지정)
Event 를 눌러 Create 이벤트를 추가합니다.
(▲ 이벤트 추가)
그리고 Common ▶ [Assign Variable] 액션을 추가하고, 행동에 대한 변수를 선언해줍니다.
이 변수는 땅속에서 나와서 잠시 서있다가 다시 들어가는 등의 행동에 대한 변수로 사용할 것입니다.
(▲ Create 이벤트에서 행동에 대한 변수 선언)
처음 땅 속에서 나왔을 때의 애니메이션이 끝나면 다음은 서 있을 때의 모습으로 전환해야합니다.
오브젝트에 Animation End 이벤트를 추가합니다.
Animation End 이벤트는 지정된 애니메이션이 끝났을 때 실행되는 이벤트입니다.
그리고 Common ▶ [If Variable] 조건문 액션을 추가하고, 행동에 대한 변수를 체크합니다.
(▲ Animation End 이벤트)
이제 이미지를 전환해야합니다.
Instances ▶ [Set Sprite] 액션을 조건문 옆에 추가합니다.
(▲ 조건문 옆에 추가)
그리고 서 있는 모습으로 스프라이트 이미지를 변경합니다.
(▲ 서 있는 모습으로 이미지 변경)
행동에 대한 변수값을 변경합니다.
강좌에서는 1로 설정하겠습니다.
(▲ 행동에 대한 변수 action 값 변경)
다음은 언제까지 서 있다가 다시 땅 속으로 들아가는 가에 대해 설정해야겠지요.
이 시간은 랜덤 값을 사용하여 알람 이벤트를 통해 설정할 것입니다.
Random ▶[Randomize]액션을 사용하여 랜덤 시드를 재설정합니다.
일반적으로 게임을 실행할 때마다 기본값으로 지정된 시드로 동일한 확률이 배당됩니다.
즉, 랜덤 패턴이 같다는 것이지요.
하지만, 게임을 실행할 때마다 다른 확률로 설정하고 싶다면, 이 랜덤 시드를 재설정 해주기만 하면 됩니다.
(▲ 랜덤 값)
그리고 Random ▶[Get Random Number]액션을 사용하여 랜덤 범위를 지정하고, Temp 를 체크하여 값을
임의의 변수에 할당하도록 합니다. 이 값은 알람 이벤트를 실행시키는데 사용할 것입니다.
Instances ▶ [Set Alarm Countdown] 액션을 추가하고 실행할 알람을 지정한 다음, 랜덤 값을 할당합니다.
강좌에서는 알람 0 이벤트를 사용할 것입니다.
(▲ 알람 이벤트 실행)
두더지 오브젝트에 알람 0 이벤트를 추가합니다.
그리고 Instances ▶ [Set Sprite] 액션을 추가하여 땅속으로 들어가는 이미지로 변경합니다.
[Assign Variable]액션을 사용하여 행동에 대한 변수값을 변경합니다.
강좌에서는 -1로 설정하겠습니다.
(▲ 땅속으로 들어가는 이미지로 변경)
땅 속으로 들어갔다면 이제 이 오브젝트를 필요가 없어집니다.
필요가 없다면 룸에서 파기하는 것이 좋겠지요.
다시 Animation End 이벤트로 돌아와서 행동에 대한 변수를 체크합니다.
Common ▶ [If Variable] 조건문 액션을 추가하고, 땅 속으로 들어갈 때의 변수값을 체크하도록 합니다.
강좌에서는 -1 값이었죠.
(▲ 필요 없어진 오브젝트는 파기)
그리고 Instances ▶ [Destroy Instance] 액션을 조건문 옆에 추가하고 현재 오브젝트를 파기하도록 합니다.
- 계속 -
'GameMaker강좌[GMS2] > DnD강좌-게임' 카테고리의 다른 글
[게임메이커 강좌-DnD][GMS2]두더지게임 만들기-4 : 타이머 게이지 표시 (2) | 2021.02.18 |
---|---|
[게임메이커 강좌-DnD][GMS2]두더지게임 만들기-3 : 두더지 땅굴 만들기 (0) | 2021.02.17 |
[게임메이커 강좌-DnD][GMS2]두더지게임 만들기-1 (0) | 2021.02.17 |
[게임메이커 강좌-DnD][GMS2]간단한 운석 피하기게임 만들기-7 : 마무리(완) (0) | 2021.02.15 |
[게임메이커 강좌-DnD][GMS2]간단한 운석 피하기게임 만들기-6 : 이펙트 추가 (0) | 2021.02.15 |
댓글