인스턴스의 이동, 이벤트와 액션
이번강좌에서는 인스턴스를 방향키로 이동시켜보는 재미난 작업을 해보도록 할겁니다.
참고로 인스턴스를 이동을 시킨다는 것은 인스턴스의 좌표를 변경한다는 것을 의미하고
그러기 위해선 일단 게임메이커 스튜디오에서의 좌표계에 대해서 알아야합니다.
게임메이커 스튜디오의 좌표계입니다.
아마 여러분들은 이전까지 y값은 위로 갈수록 증가한다고 생각하실겁니다. (일반적으로 알고있는 데카르트 좌표계)
하지만 게임메이커 스튜디오에서는 위 그림과 같이 y값이 아래에 위치할수록 증가 한다는걸 유의하세요!
위와같이 룸의 (208, 197) 좌표에 인스턴스 하나를 생성한 후, 오른쪽으로 이동하기 원한다면...
인스턴스의 좌표를 룸의 (211, 197)로 변경해준다면 x좌표가 3만큼 증가하여 이동되는 효과를 줄 수 있습니다.
이제 위와같이 인스턴스의 좌표를 변경하는 방식을 사용하여 프로젝트에서 직접 인스턴스 이동을 구현해봅시다.
그러기위해선 다음과 같이 오브젝트를 설계해야합니다.
오브젝트 : "나를 참조해서 만들어진 인스턴스는 방향키 '→' 키를 누를시 좌표 x값을 +3 만큼 변경한다."
위 문장을 그대로 오브젝트에 넣어보는 학습을 진행하도록 하겠습니다.
작업했던 프로젝트를 열어줍니다.
오브젝트를 수정해야하니.. 오브젝트를 더블클릭해서 오브젝트 편집창을 열어주세요.
사실 ' 게임메이커 스튜디오 기초[4] 오브젝트 제작' 강좌에서는 오브젝트를 별로 만져 볼 기회가 없었습니다.
때문에 이번강좌에서 오브젝트를 설계하는 방법을 좀 더 집중적으로 다루어 볼 예정입니다.
오브젝트는 기본적으로 이벤트(Event)와 액션(Action)이 존재합니다.
이벤트(Event)란? 액션이 실행되기 위한 조건을 의미합니다.
액션(Action)이란? 인스턴스가 실행 할 행동을 의미합니다.
즉, 기본적으로 인스턴스가 이벤트라는 상황에 처했을 때 해당 이벤트에 포함 된 액션이 실행됩니다. 예를들어..
이벤트(Event) |
액션(Action) |
'→' 키를 누르면 |
x 좌표 3 증가 |
'←' 키를 누르면 |
x 좌표 3 감소 |
이런식으로, 조건과 조건에 따른 행동이라고 생각하시면 됩니다. 이해 하셨으리라 믿고...
[ '→' 키를 누르면 ] 이벤트를 오브젝트에 추가해 보겠습니다.
이벤트 추가(Add Event) 버튼을 클릭해주세요.
위와같이 이벤트 선택창이 등장합니다.
[Keyboard -> Right] 이벤트를 선택하면 되겠죠.
[ '→' 키 누를 시] 이벤트가 추가되었습니다. 이제 이 이벤트에 [x 좌표값 +3 증가] 액션을 추가하도록 해볼겁니다.
오른쪽에 보시면 아이콘들이 좌르륵- 나열이 되어있는데 이것들이 모두 액션입니다.
이 중에서 우리는 좌표값을 변경시켜주는 '좌표 점프(Jump To Position)' 액션을 추가할겁니다.
(액션아이콘을 마우스 오른쪽버튼으로 클릭하거나, 액션영역에 드래그하시면 추가됩니다.)
------[Jump to Position]------
x : 변경(이동)할 x 좌표
y : 변경(이동)할 y 좌표
Relative : 현재기준 여부
------------------------------
참고로 게임메이커 8.0 한글판을 살펴보면 Relative가 '현재기준'으로 번역되어있어서
여기서도 편의상 현재기준이라는 표현을 사용하였습니다.
우리는 x좌표를 3만큼 증가시킬것이기 때문에 위와같이 설정하신 후 'OK' 버튼을 눌러주세요.
참고로 Relative는 변경 할 좌표를 현재 자신의 좌표를 기준으로 변경 할 것인지 체크하는 부문입니다.
만약에 Relative를 체크하지 않는다면...
현재 기준에서 x좌표가 3이 증가하는게 아니라, 위의 스크린샷처럼 룸의 절대좌표기준인 (3, 0) 좌표로 이동하게됩니다.
드디어 오브젝트 설계가 끝났습니다! 이제 오브젝트도 'OK'를 눌러 작업을 마친 후, 게임을 실행해봅시다.
인스턴스가 오브젝트에 적힌 내용을 그대로 가져오기때문에.. 오브젝트에서 설계한 내용을 똑같이 가지고있습니다.
'→' 방향키를 눌렀을 때 정상적으로 이동한다면 성공입니다.
마지막으로 여러분들은 다음강좌를 진행하기 전에 오브젝트를 수정하여 상,하,좌,우 이동을 모두 넣어보세요!
'GMStudio > GMS 강좌' 카테고리의 다른 글
게임메이커 스튜디오 기초강좌 [8] 스텝 이벤트, 알람 이벤트 (0) | 2015.06.09 |
---|---|
게임메이커 스튜디오 기초강좌 [7] 프레임, 스텝과 이벤트의 흐름 (0) | 2015.06.03 |
게임메이커 스튜디오 기초강좌 [5] 룸 제작 (6) | 2015.05.29 |
게임메이커 스튜디오 기초강좌 [4] 오브젝트 제작 (0) | 2015.05.28 |
게임메이커 스튜디오 기초강좌 [3] 스프라이트 제작 (0) | 2015.05.27 |