게임메이커/상세 기능

덤프버전 :

파일:나무위키+상위문서.png   상위 문서: 게임메이커

1. 전역 변수
2. 임시 변수
3. 뷰
4. 디버그 모드
5. 스프라이트 제작
5.1. 마스크
5.2. 애니메이션



1. 전역 변수[편집]


전역 변수란 어떤 변수를 하나의 오브젝트 안에서만 사용되도록 하는 것이 아니라 게임 전체에서 사용될 수 있도록 하는 것이다. 간단히 예를 들자면, 각각의 몬스터의 체력을 다르게 지정할 필요가 있는 게임에서는 그 몬스터의 체력을 일반 변수(지역 변수)를 통해서 지정한다. 하지만, 플레이어의 돈이나 기타 게임 시스템과 관련된 변수들은 어떤 한 오브젝트에만 적용될 것이 아니라 게임 전체에 적용될 필요성이 있으므로 전역 변수를 사용해야 한다.

사용법은 간단한데,
a
란 이름의 전역 변수를 정의하고 싶다면
global.
을 붙여서
global.a
라고 정의하면 된다! 혹은 게임이 시작될 때 코드 어딘가에
globalvar (변수 이름);
을 쓰면 굳이 일일이
global.
을 붙이지 않고도 글로벌 변수로 쓸 수 있다.


2. 임시 변수[편집]


한편 코드를 실행할 때 잠깐 쓰고 버려지는 변수가 있는데, 이를 별도 처리 없이 일반 변수(지역 변수)로 사용하면 그만큼의 메모리가 낭비된다. 이때 코드 맨 위에
var
문을 사용해서 그 코드에서만 잠깐 사용하고 자동으로 삭제할 임시 변수를 정의할 수 있다. 예를 들어
var temp;
와 같이 쓰면 그 코드가 끝날 때까지만
temp
라는 이름의 변수를 임시로 사용할 수 있다.

게임메이커 8.x에서는
var temp = 1;
과 같이 선언과 동시에 대입을 하면 문법 오류가 나지만, 스튜디오로 넘어오면서 이러한 문법이 가능해지게 되었다.

지역 변수, 임시 변수, 전역 변수의 이름이 겹칠 경우 임시 변수는 그냥
foo
, 지역 변수는
self.foo
, 전역 변수는
global.foo
로 써서 구분할 수 있다.


3. 뷰[편집]


게임에서 사용되는 룸의 크기가 너무 클 때, 우리는 게임을 플레이하는 데 어려움을 겪는다. 이때 필요한 것이 바로 라는 기능이다. 뷰는 한 오브젝트를 자동으로 추적하여 그 오브젝트를 중심으로 그 주위를 화면상에 보여준다. 코드를 사용하면 룸 상의 특정 지점을 지정하거나 반대로 뷰 상의 특정 지점을 다른 곳에 활용할 수 있다. 대표적으로 UI처럼 화면에 고정되어야 하는 인스턴스들은 뷰를 기준으로 draw 해주면 UI가 이탈하는 문제가 없다.

이 기능은 다양한 방법으로 응용되곤 하는데, 대표적으로 2인용 게임이 있다. 한 화면에 여러 시점의 뷰를 보여줄 수 있으므로 박스헤드와 같은 2인용 게임을 만들 때 매우 유용하다. 뷰를 설정할 때는 그 뷰를 지정할 룸을 클릭한 후, 뷰 활성화에 체크를 해주면 된다. 물론, 추적할 오브젝트도 같이 설정해야 한다.


4. 디버그 모드[편집]


자신이 만든 게임을 테스트해보고 싶을 때 사용하는 기능. 디버그 모드 상에서는 변수, 게임 스피드 등을 매우 쉽게 확인하거나 조작할 수 있으므로 유용하다. 간단히 예를 들자면, 어떤 이벤트가 일어날 조건이 플레이어의 레벨이 100을 달성했을 때라고 생각해보자. 이때는 겨우 테스트 한 번 하자고 레벨을 100까지 올려볼 수는 없을 것이다. 따라서 디버그 모드를 사용한다.

사용 방법은 상단의 빨간색 화살표(F6)를 누르면 되고, 변수 등을 조작하고 싶다면 디버그 모드에서 뜨는 창에서 Tools - Execute Code를 사용한다.

게임메이커: 스튜디오에서는 디버그 창이 바뀌어 8.0보다 더 편리하게 디버깅을 할 수 있게 되었다. 단, GMS 엔진의 한계로 코드 실행이 막혀있기 때문에 게임에서 자체적으로 디버그 기능을 짜서 넣어놔야 한다. 코드상에 중단점을 지정하면 그 위치에서 게임이 일시정지되고 각종 정보가 표시된다. 실시간으로 변수 값 변화를 추적할 수도 있다.


5. 스프라이트 제작[편집]



5.1. 마스크[편집]


게임메이커에서 유용하게 사용되는 기능 중 하나가 바로 마스크이다. 이 기능을 통해 각각의 스프라이트의 충돌범위를 지정할 수 있다. 한마디로 판정박스. 기본적으로는 스프라이트 모양에 맞추어 자동으로 설정되나, 액션 게임 등에서 세세한 조작이 필요할 경우 Modify mask를 눌러 수정할 수 있다. 사각 박스로 후려치거나 원형으로 대충 뭉개는 게 아니라 픽셀 대응으로 정밀하게 체크해주는 옵션이 있어서 매우 편리하다. 물론 사각 박스나 원형으로 설정하는 것도 가능하고, 정밀 마스크를 쓸 때에도 사각의 충돌체크 범위를 또 설정해 2중 마스킹을 하는 것도 가능하다.


5.2. 애니메이션[편집]


스프라이트를 애니메이션 형태로 만드는 기능이다. 사용법은 간단하게 Edit sprite를 클릭하여 여러 개의 스프라이트를 만들어주면 된다. 그렇게 되면 그 여러 개의 스프라이트가 연속적으로 이어지게 보이게 된다. 하지만, 자연스러운 형태의 애니메이션을 만드는 것은 매우 어렵기 때문에, 스프라이트 수정 창에서 Animation 탭을 사용하면 간단한 회전이나 확대, 축소 등을 편리하게 구현할 수 있다. GIF를 지원하지 않으므로 외부 툴에서 작업해서 삽입할 경우에는 개별 png로 출력해서 한 스프라이트에 몰아넣어주면 된다.


파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-11-11 13:47:51에 나무위키 게임메이커/상세 기능 문서에서 가져왔습니다.