Profile
Experience

2018.12.17

GML 차근차근 배워보기. [ 1 ] 강좌 진행 환경 조성

조회 수 17 추천 수 0
애드블럭을 꺼주시면 서버 운영에 도움이 됩니다.
부탁드립니다.

GML 차근차근 배워보기

 

* 게임메이커 8.0을 기준으로 작성된 강좌입니다.

 

 

[ 1 ] 강좌 진행 환경 조성

 

 

1. 기본 환경 조성

 

어떤 언어의 문법을 배우는 데에 복잡한 환경을 이용하는 것은 결코 좋은 방법이 아니다. 그래서 GML의 문법에 대해 알아볼 때에는 실제 게임에 잘 쓰이지 않는 형태의 입력,출력 장치를 이용해 강좌가 진행된다. 그럼 우선 강좌를 시작하기 전에 이 강좌에 기본적으로 사용될 환경을 조성해보자. 게임메이커를 실행한 후 아래 스크린샷과 같이 오브젝트를 하나 생성한다.

 

 

 

생성한 오브젝트에 다음과 같이 이벤트를 작성한다.

 

 

 

생성될 때의 이벤트를 만든다음 코드조각에 위의 스크린샷과 똑같이 적는다. 그리고 자기 자신을 죽이는 액션을 넣는다.

 

<코드 내용>

n=get_integer("",0);

 

다 만들었다면 이번엔 제거될 때의 이벤트를 만든 다음 아래와 같이 액션을 삽입한다.

 

 

<코드 내용>

n=n*2;

show_message(n);

 

다 작성후 룸을 하나 만들고 오브젝트를 아무데나 배치한 뒤 실행시켜보자.

 

아마 숫자를 입력받는 창이 뜨고, 숫자를 입력하면 그 숫자의 2배 값이 기록된 창이 하나 뜰 것이다. 그리고 프로그램이 종료된다.

 

이제부터 문법 파트의 강좌는 기본적으로 저 형태를 가지고 진행될 것이다. 간단히 흐름을 이야기하자면 오브젝트 인스턴스 생성 -> 코드 실행 -> 오브젝트 제거 -> 제거시의 액션(코드) 실행 -> 프로그램 종료 의 순서가 된다. 여기서 우리가 손댈 부분은 생성 시의 코드와 제거시의 코드 두 가지 뿐이며, 기본적으로 생성 시의 코드(이하 생성코드)에서 입력 받고 처리한 뒤, 제거시의 코드(이하 제거코드)에서 출력하는 형태로 진행될 것이다.

 

아마 아직 변수나 함수에 대해 기본적인 지식이 없기 때문에 왜 저 코드가 저런 식으로 동작하는지 잘 이해가 되지 않을 것이다. 하지만 전혀 걱정할 필요 없다. 이 강좌의 제목처럼 차근차근 배워나가다보면 어느 순간 손쉽게 다룰 수 있게 될 것이다.

 

 2. 오브젝트와 인스턴스

 

다음 강좌로 넘어가기 전에 꼭 숙지하고 있어야 할 중요한 사항에 대해 하나 짚고 넘어가보자. 게임메이커에서 오브젝트와 인스턴스라는 용어가 있는데, 처음 언어를 접하고 게임메이커를 다루는 사람들에게 상당히 혼란스러운 개념일 수 있다.

 

 

 

스크린 샷에서 볼 수 있듯이 게임메이커에서는 같은 종류의 오브젝트를 얼마든지 룸에 배치할 수 있다. 그런데, 이렇게 배치된 오브젝트들이 모두 동일한 정보를 갖게 되는 것은 아니다. 화면에 나와있는 것만 하더라도, 각각의 오브젝트들의 위치는 모두 다르다. 이렇게 각각의 오브젝트들은 모두 동일한 특성(하는 동작, 갖는 정보의 종류 등.)을 가지지만 갖고 있는 정보는 조금씩 다르다. 오브젝트의 위치라든지 체력이라든지 기타 등등... 즉 간단히 말하자면 개별적으로 룸에 존재하는 오브젝트들이 '인스턴스' 이고, 이 인스턴스들이 갖고 있는 동일한 특성들을 정의한 것이 '오브젝트'라고 할 수 있다.

 

 개인적으로 오브젝트와 인스턴스에 대해 잘 설명했다고 생각하는 강의는 이 것이다. 게임 메이커를 잘 다루기 위해서 필수적으로 알아두어야 할 개념이기 때문에 꼭 정확하게 이해하도록 하자.



Profile
2
Lv

2개의 댓글

번호 제목 글쓴이 날짜 조회 수
공지 게임메이커 구체적인 설명과 알면 매우 좋은 팁 30개 [장문] 7 profile 도개걸윷모 2018.11.03 197
64 [팁] <댓글 스티커>, <쿠키 마켓>의 쿠키 반환 비율 (수수료, 이익 비율) 2 profile 며르치 2019.01.21 40
63 [팁] 쿠키 얻기/쓰기 조건 정리 4 profile 며르치 2019.01.17 68
62 [쿠키 API] ini처럼 온라인 데이터 저장/불러오기 구현하기 4 profile 주인장수표 2018.12.26 80
61 [쿠키 API] 구글, 네이버, 카카오톡 로그인 구현하기 profile 주인장수표 2018.12.26 64
60 인벤토리 만들기 - 1 profile Experience 2018.12.18 47
59 간단한 도트 찍는 방법! profile Experience 2018.12.17 38
58 [자료] 스팀 게임 플레이어의 통상적 컴퓨터 사양 1 profile 주인장수표 2018.12.17 26
57 [변수의 활용] VAR (if) 액션과 컨트롤액션 profile Experience 2018.12.17 10
56 윈도우를 컨트롤하자! profile Experience 2018.12.17 22
55 GML 차근차근 배워보기. [ 4 ] 조건문 profile Experience 2018.12.17 12
54 GML 차근차근 배워보기. [ 3 ] 연산자 (2) profile Experience 2018.12.17 12
53 GML 차근차근 배워보기. [ 3 ] 연산자 (1) profile Experience 2018.12.17 16
52 GML 차근차근 배워보기. [ 2 ] 변수 (2) profile Experience 2018.12.17 13
51 GML 차근차근 배워보기. [ 2 ] 변수 (1) profile Experience 2018.12.17 17
GML 차근차근 배워보기. [ 1 ] 강좌 진행 환경 조성 2 profile Experience 2018.12.17 17
49 리얼리티 '뷰' 노이즈 강좌 profile Experience 2018.11.29 25
48 [윈도우] 게임을 실행할 때 다른 윈도우를 모두 최소화시키기 profile Experience 2018.11.29 19
47 간단한 8방향 이동 코드 profile Experience 2018.11.29 16
46 겜스 간단한 페이드인/페이드아웃 profile Experience 2018.11.29 18
45 게임메이커 8 강좌 5화 -룸- END profile Experience 2018.11.29 18
서버에 요청 중입니다. 잠시만 기다려 주십시오...