본문 바로가기
GameMaker강좌[GMS2]/DnD강좌-게임

[게임메이커 강좌-DnD][GMS2]두더지게임 만들기-3 : 두더지 땅굴 만들기

by 타락카얀 2021. 2. 17.
728x90

 

 

GAME MAKER 강좌

 

 

KAYAN


 

 

 

 

 

◈ 두더지 땅굴 만들기(obj_hole)

 

 

다음은 두더지가 나올 땅굴을 만들어 봅시다.

땅굴에 대한 스프라이트 이미지를 추가하고 중심점을 가운데로 맞춥니다.

 

(▲ 두더지 땅굴)

 

오브젝트를 만들고, 추가한 스프라이트 이미지를 지정해줍니다.

 

(▲ 두더지 땅굴 오브젝트)

 

이제 여기에서 알람 이벤트의 타이밍을 이용해 두더지를 생성할 것입니다.

 

여러개의 땅굴이 있을 때, 현재 땅굴에서 생성된 오브젝트를 중복 생성하지 않기 위해 중복 체크할 필요가

있습니다.

 

Create 이벤트를 추가하고, 생성 체크에 필요한 변수를 선언합니다.

이 변수는 두더지를 생성했을 때, ID 를 저장할 것입니다.

 

(▲ Create 이벤트에서 생성체크에 필요한 변수 선언)

 

그리고사용할 알람을 설정합니다.

강좌에서는 알람 0 이벤트를 사용하겠습니다. 첫 알람 이벤트는 바로 실행되도록 1로 설정합시다.

 

그리고 알람 0 이벤트를 추가합니다.

두더지 출현 확률을 정할 겁니다.

확률에 따라 두더지가 나올 수도 있고, 못 나올 수도 있도록 하는 것이죠.

 

Random[Randomize] 액션을 추가해 램덤 시드를 재설정합니다.

Random[Get Random Number]액션을 사용하여 랜덤 범위를 지정하고, Temp 를 체크하여 값을 임의의

변수에 할당하도록 합니다. 이 값은 두더지 출현 확률에 사용할 것입니다.

 

(▲ 두더지 출현 확률)

 

Common[If Variable] 조건문 액션을 추가하고, 확률을 체크합니다. 50 미만이면 실행하도록 하겠습니다.

 

(▲ 두더지 생성 체크)

 

Common[If Variable] 조건문 액션을 조건문옆에 다시 추가하고, 두더지를 생성하지 않았는지(두더지를

생성하지 않았으면 noone)를 체크합니다.

 

그리고 Instances[Get Instance Count] 액션을 조건문 옆에 추가하고, 너무 많은 두더지를 출현시키지

않기  위해 두더지 수를 체크합니다.

 

(▲ 두더지 수 체크)

 

강좌에서는 두더지 수가 3 마리 안 될 때 두더지를 출현 시키도록 하겠습니다.

 

Common[If Variable] 조건문 액션을 추가하고, 현재 두더지가 출현 최대 수 보다 적게 있는지 체크합니다.

만약 그렇다면, Instances[Create Instance]액션을 사용하여 두더지를 생성하고, 두더지의 ID를

이전에 만든 변수에 할당합니다.

 

그리고 [Assign Variable] 액션을 추가하여 생성된 두더지의 깊이(depth) 현재 땅굴 보다 앞에

보이도록 설정합니다.

깊이는 작을 수록 화면 앞에 위치하게 됩니다.

 

(▲ 두더지 생성)

 

이제 새로운 두더지를 업데이트하기 위해 알람 이벤트의 시간을 재설정해야 합니다.

Random[Get Random Number]액션을 추가(램덤 값을 체크한 3번째 줄 [If Variable] 조건문

액션 밑에 추가함)하고,  랜덤 값을 얻습니다.

그리고 Instances[Set Alarm Countdown]액션을 추가하고, 램덤 값을 할당합니다.

 

(▲ 알람이벤트 재설정)

 

다음은 Instances[If Instance Exists]조건문 액션을 추가하고, 두더지가 현재 오브젝트에서

생성되었는지 체크하도록 합니다.

만약 없다면 Common[Assign Variable]액션으로 두더지 ID를 저장한 변수를 noone값으로

초기화합니다. 그리고 없을 때는 알람을 30정도로 두더지를 빨리 업데이트하도록 합니다.

 

(▲ 두더지가 현재 오브젝트에서 생성되었는지 체크)

 

다음은 땅굴의 깊이(화면 표시 우선 순위)를 재설정 해주어야 합니다.

 

Step 이벤트를 추가하고, Instances[Set Instance Variable]액션을 추가합니다.

Variable 에 Depth 를 선택하고, 깊이 값은 룸의 높이-y 값을 입력합니다.

 

(▲ 땅굴의 깊이 설정)

 

이와 같이 하면, 오브젝트는 화면 위로 갈수록 뒤로 위치하고, 반대로 아래로 내려갈 수록 화면 앞에

위치하게 됩니다.

 

 

 

 

 

◈ 테스트

 

 

이제 잘 작동하는지 테스트해봅시다.

 

프로젝트를 만들면 룸 하나가 미리 생성되어있을 겁니다. 만약 룸이 없다면 룸을 하나 추가하도록 합시다.

그리고 룸을 더블클릭하여 룸의 크기를 설정합니다. 강좌에서는 800 x 600 의 크기로 설정하겠습니다.

 

(▲ 룸의 크기)

 

기본적으로 룸의 크기는 곧 화면의 크기가 됩니다.

물론 룸 설정 밑의 카메라 설정을 통해 화면의 크기를 별도로 지정할 수 있습니다만, 강좌에서는 기본

기능만 사용하겠습니다.

 

룸의 배경을 지정해봅시다.

배경으로 사용할 스프라이트 이미지를 하나 추가합니다.

강좌에서는 타일 패턴으로 배치할 것입니다.

 

(▲ 배경이미지)

 

다시 룸 편집기로 돌아와서 배경 레이어(Background)를 선택하고, 배경을 지정합니다.

 

(▲ 배경 레이어에 배경 이미지를 지정)

 

그리고 인스턴스 레이어를 선택하고, 두더지 땅굴 오브젝트를 룸에 마우스로 끌어다 놓아 배치하도록

합니다.

 

(▲ 두더지 땅굴 배치)

 

배치가 끝났습니다.

잘 작동하는지 테스트 해봅시다.

 

(▲ 테스트 화면)

 

 

 

 

- 계속 -

 

 

 

 

 

300x250

댓글