본문 바로가기
GameMaker강좌[GM8]/기초강좌

[게임메이커강좌-기초]이벤트의 종류

by 타락카얀 2013. 9. 9.
728x90



GAME MAKER 강좌



KAYAN






게임메이커에서 주로 사용하는 이벤트들의 종류에 대해 알아보도록 해요.

오브젝트의 Event창에 마우스 오른쪽 버튼을 누르면 메뉴가 활성화되는데,
Add Event를 누르면 이벤트를 추가할 수 있는 아래와 같은 창이 활성화됩니다.



(▲이벤트 메뉴)


이것으로 필요한 게임에 필요한 이벤트들을 오브젝트에 추가할 수 있지요.



(▲이벤트들이 사용된 오브젝트)


물론 이벤트들을 사용하지 않아도 되지만, 게임에서 이동이나, 위치 변경, 다양한 액션을 취하기
위해서는 꼭 필요한 존재들입니다.









◈Create 이벤트



Create 이벤트는 오브젝트가 인스턴스로 룸에 생성되었을 때 1번 실행하는 이벤트입니다.
이곳에서는 1번정도 실행할 필요가 있는 이벤트를 작성하지요.
주로 변수의 선언이나 인스턴스의 위치 조정, 또는 이동과 방향을 변경할 때 사용됩니다.








◈Step 이벤트



Step 이벤트에는 Begin Step, Step, End Step이벤트로 나뉘어집니다.
3 이벤트 모두 이벤트가 실행되는 순서가 다를뿐, 이벤트 성향은 같습니다.
이벤트 실행순서는

     Begin Step ▶ Step ▶ End Step

순서입니다.
이 이벤트는 매 스텝(1/룸의 속도)마다 실행되는 이벤트이며, 주로 이동 변경, 다양한 패턴, 변수체크등
매번 실행되어야 하는 이벤트들을 이곳에서 작성하게 됩니다.






◈Draw 이벤트



Draw 이벤트는 화면에 글자나, 이미지를 표시하고자 할 때 사용합니다.
이 이벤트는 Step 이벤트에서 사용된 이벤트를 사용할 수도 있으며, 매 스텝마다 이벤트가 실행되지요.
주의하셔야 할것은 이 이벤트가 활성화되면 오브젝트에 지정한 스프라이트 이미지는 표시되지 않는다는 것입니다.
그래서 Draw 이벤트에 스프라이트 이미지를 따로 표시해주어야 해요.

     예) draw_sprite(sprite_index,-1,x,y);//sprite_index는 오브젝트에 지정한 스프라이트의 인덱스.

참고로 Draw 액션이나 draw_ 함수들은 Draw 이벤트에서만 사용할 수 있습니다(서피스는 제외).





◈Collision 이벤트



Collision 이벤트는 오브젝트간의 충돌 이벤트를 작성할 때 사용되는 이벤트입니다.
룸 상에 존재하는 두 인스턴스 사이에 충돌했을 때만 실행되며, 주로 상대 변수 조작과 같은 이벤트를

작성 할 때 사용되기도 합니다.
또한 이 이벤트에서는 충돌한 상대를 'other'로 인식할수 있습니다.

     예) other.hp-=10; //충돌한 상대의 hp변수를 10 감소






◈Destroy 이벤트



Destroy 이벤트는 인스턴스가 파기될 때 실행되는 이벤트입니다.
주로 인스턴스가 파기되었을 때, 점수를 추가한다던가, 이펙트를 생성할 때 사용됩니다.







◈Alarm 이벤트



Alarm 이벤트는 주로 타이머 이벤트를 작성할 때 사용됩니다.
이 이벤트는 오브젝트 1개에 0~11번까지 12개의 이벤트를 사용할 수 있습니다.
1 알람은 1스텝(1/룸속도)과 같습니다.





◈Keyboard 이벤트



Keyboard 이벤트Keyboard, Key Press, Key Release 이벤트로 나뉩니다. 물론 이벤트 메뉴에선 버튼이

따로 구분되어있는데, 모두 키보드 이벤트입니다.
Keyboard 이벤트는 계속 눌렀을 때 발생되는 이벤트입니다. 이 이벤트는 주로 인스턴스를 계속 이동시키거나,

슈팅게임에서 공격을 연속 발사시킬 때 사용하지요.
Key Press 이벤트는 키를 눌렀을 때만 발생되는 이벤트입니다.
Key Release 이벤트는 키를 눌렀다 떼었을 때 발생되지요.

게임 특성상 키 입력에 필요한 이벤트를 구분하여 작성하시면 됩니다.







◈Mouse 이벤트



Mouse 이벤트는 마우스 입력에 따른 이벤트를 작성할때 사용합니다.
이 이벤트는 크게 2가지로 나뉩니다.
첫번째는 오브젝트 기준에 따른 이벤트이고, 두번째는 오브젝트는 물론 룸 전체에 따른 이벤트(Global mouse)입니다.
첫번째는 현재 오브젝트의 마스크 내에, 클릭 했거나, 또는 커서가 위치했을 때와 같은 이벤트를 작성할 수 있지요.
주로 버튼 오브젝트를 만들 때 사용합니다.

두번째는 Global mouse라는 메뉴가 따로 있습니다.
이것은 룸 전체에 반응하며, 룸 내 특정 위치를 클릭할 때, 또는 드래그가 필요할때와 같은 상황을 이벤트로 작성할때
사용합니다.

Mouse 이벤트 메뉴는 조이스틱 입력에 따른 이벤트를 구성할 수도 있습니다.






◈Other 이벤트



이 이벤트에는 여러가지 특정 이벤트들을 구성할 수 있는 메뉴들이 있습니다.
뷰에 따른 이벤트라던가, 또는 게임이 시작했을 때, 게임이 종료되었을 때, 룸이 시작했을 때, 스프라이트의

애니메이션이 끝났을 때, 또는 사용자가 따로 호출해 이벤트를 발생시킬 수 있는 User defined 이벤트

같은 이벤트를 구성할 수 있지요.






◈Trigger 이벤트



이 이벤트는 게임메이커 8.x 에만 있는 이벤트로, 게임메이커 스튜디오에서는 없어진 이벤트이기도 합니다.
게임메이커 스튜디오를 사용하실 것이라면 사용 안 하는 것이 좋겠네요.

이 트리거 이벤트는 사용자가 직접 이벤트의 종류를 구성할 수 있는 이벤트입니다.



(▲ Add 버튼을 눌러 트리거 이벤트 추가)


Trigger 이벤트Add/Modify Triggers를 눌러 Trigger이벤트를 추가하면, 이벤트 메뉴에서 트리거 이벤트를

눌렀을 때 정의한 트리거 이벤트를 선택할 수 있게 됩니다.



(▲ 추가된 트리거 이벤트를 오브젝트에 추가할 수 있음)


예를 들어, 이벤트는 아래의 화면과 같이 구성하여 만들 수 있습니다.



(▲ 트리거 이벤트)


이것은 키보드 Z키를 눌렀을 때 발생하도록 작성한 것입니다.
이벤트가 실행되는 순서(Begin of step, Middle of step, End of step)를 선택하고,
이벤트 내용은 Use Code Editor 버튼을 누르고, 이벤트에 필요한 조건문을 작성하시면 됩니다.
그리고 이벤트 내용이 참일 때 이벤트가 실행되는 겁니다.

트리거 이벤트는 단순하게 if 문이 빠진 조건문 내용을 작성하는 것입니다.









300x250

댓글