본문 바로가기

GMStudio/GMS 강좌

게임메이커 스튜디오 기초강좌 [8] 스텝 이벤트, 알람 이벤트

 

스텝 이벤트(Step Event)

 

이번에는 프로젝트에서 직접 오브젝트에 스텝 이벤트를 추가해서 설계해보는 작업을 진행해 봅시다.

 

일단 프로젝트를 새로 준비해주세요!

 

그리고 새로 만든 프로젝트에 스프라이트를 하나 만들어줍니다. (저는 공모양 스프라이트를 준비했습니다.)

 

그럼 준비작업은 끝났습니다. 이제 오브젝트를 설계 해 볼겁니다.

 

오브젝트를 하나 새로 만들어주시고, 스프라이트는 방금 준비한 스프라이트로 설정해주세요.

그 후, [Add Event] 를 눌러 이벤트를 추가해줍니다.

 

 

[Step - Step] 이벤트를 선택. 비긴스텝과 엔드스텝이 궁금하실 수 있는데.. 나중에 별도로 포스팅을 하게 될 것 같네요.

 

스텝 이벤트는 게임 내에서 매 스텝 마다 실행됩니다.

즉, 기본 룸 스피드(초당 스텝)가 30으로 설정되어있을때 스텝이벤트가 1초에 30번 처리됩니다.

그냥 '스텝 이벤트는 계속 발동된다!' 라고 생각하시는 것이 이해가 쉬울 수 있습니다.

 

정말 매 스텝마다 실행되는지 액션을 넣어 테스트해봅시다.

좌표점프 액션을 넣어서 인스턴스가 계속해서 움직이는지 눈으로 확인해보면 되겟죠?

 

좌표점프(Jump to Position) 액션을 위와같이 설정해줍니다.

현재 좌표에서 x좌표를 +1 합니다.

 

오브젝트 작업을 끝낸 후 위와같이 룸을 새로 만들어서 배치해줍니다.

 

그 후, 게임을 실행해서 테스트해보면 인스턴스가 계속 이동하는것을 확인 가능합니다!

스텝마다 x좌표를 1픽셀만큼 이동하도록 설정하였으니, 1초에 30픽셀(룸 스피드가 30) 만큼 우측으로 이동하게 될겁니다.

 

이로서, 스텝 이벤트가 계속해서 발동된다는 것을 눈으로 확인해보았습니다.

 


 

알람 이벤트(Alarm Event)

 

이번에는 오브젝트에 알람 이벤트를 넣어 설계해보겠습니다.

알람 이벤트는 우리가 실생활에서 알람을 맞추어두면 일정 시간 후 알람이 울리는 것과 같은 동작을 합니다.

 

 

다만 GMS에서는 일정 시간 후 알람이 울리는 것이 아닌 위와같이 '일정 스텝 후' 알람이 울리는 것이죠.

 

작업하던 공 오브젝트에 알람이벤트를 추가해봅시다.

 

알람 이벤트는 위와같이 총 11개까지 추가할 수 있습니다. Alarm 0 이벤트를 선택하겠습니다.

 

이제 추가한 알람 이벤트가 발동 되었을 때 실행할 액션을 넣어줄겁니다. '처음위치로 이동(Jump to Start)' 액션을 선택하겠습니다.

 

처음 위치로 이동(Jump to Start) 액션은 말 그대로 인스턴스가 처음 생성되었을 때 좌표로 보내버립니다.

별도로 입력할 값이 없으니 그냥 'OK'를 눌러줍니다. 

알람 이벤트에 액션도 추가해주었으니.. 이제 이 알람 이벤트를 몇 스텝 후에 발동시킬 건지 설정해 줄겁니다.

알람 설정은 액션을 이용해서 하기때문에, 알람 설정 액션을 넣어 줄 이벤트가 필요합니다.

 

알람 설정 액션을 넣기위한 이벤트를 추가해줍니다.

 

 Create(생성될 때) 이벤트를 사용하는게 적절할 것 같습니다.

 

[main2] 탭에 있는 알람설정 액션을 선택.

 

 

----------[Set Alarm]------------

number of steps : 몇 스텝 후 알람이 울릴 것인지 

in alarm no : 발동 시킬 알람 이벤트

---------------------------------

 

우리는 90스텝 후 Alarm 0 이벤트를 실행시킬 생각이니 위와같이 설정 후 'OK' 를 눌러주세요!

 

이것으로 오브젝트 설계가 끝났습니다. 한번, 설계한 오브젝트의 흐름을 살펴봅시다.

 

------------------------------------------------------------------

이벤트[인스턴스 생성] -> 액션[90 스텝 후 Alarm 0 이벤트 실행]

(90 스텝 후)

이벤트[Alarm 0] -> 액션[처음위치로 이동]

------------------------------------------------------------------

 

설계한 오브젝트를 참고하여 만들어진 인스턴스들은 대략 위와같은 흐름으로 이벤트와 액션이 진행되겠죠?

 

게임을 실행해서 테스트해봅니다.

인스턴스가 생성된 후, 90스텝(룸스피드가 30이므로 약 3초)이 흐르면 인스턴스는 생성된 위치로 돌아가는걸 확인 가능합니다.

이후에는 알람이벤트가 다시 발동하지 않으니 인스턴스가 우측으로 계속해서 이동하여 화면 밖을 나가버릴겁니다.

 

알람 이벤트를 계속해서 반복시키고 싶다면... 위와같이 알람이벤트가 끝날때 알람설정을 다시 해주면 됩니다.

그럼 아래와 같이 일정 스텝마다 계속해서 반복되는 이벤트가 만들어지는거죠.

 

--------------------------------------------------------------------------------

이벤트 [Alarm 0] -> 액션1 [처음위치로 이동], 액션2 [90 스텝 후 Alarm 0 실행]

(90 스텝 후)

이벤트 [Alarm 0] -> 액션1 [처음위치로 이동], 액션2 [90 스텝 후 Alarm 0 실행]

(90 스텝 후)

(.... 이후 계속해서 반복)

--------------------------------------------------------------------------------

 

이렇게 이번 강좌에서는 스텝 이벤트와 알람 이벤트를 사용 해 보았습니다.

이 두 이벤트는 실제로 프로젝트를 진행하면서 상당히 많이 쓰이는 이벤트이니 앞으로도 많이 사용하시면서 익숙해 지실 겁니다.

다음 강좌에서는 게임의 배경을 담당해주는 백그라운드(Background)에 대해서 알아봅시다.