시리즈:게임제작에 입문하려는 히치하이커를 위한 안내서/게임메이커스튜디오 액션: 두 판 사이의 차이

548번째 줄: 548번째 줄:


=== main2 탭 ===
=== main2 탭 ===
{| class="wikitable mw-collapsible mw-collapsed"
|+ Timing
|-
! rowspan="3" | 아이콘
! rowspan="2" | 영문
! rowspan="2" | 번역
! 인자
|-
! 출력
|-
! colspan="3" | 설명
|-
| rowspan="3" | 아이콘
| rowspan="2" | Set Alarm
| rowspan="2" | 알람 생성
| number of steps(실수/a), in alarm no(선택지/b)
|-
| a스텝 후에 b알람을 작동합니다.
|-
| colspan="3" | 이벤트 조건에 알람, 기억하시나요? 이 액션으로 알람을 조건으로 하는 액션들을 실행할 수 있습니다.
|-
| rowspan="3" | 아이콘
| rowspan="2" | Set Time Line
| rowspan="2" | 타임라인 설정
| time line(선택지/a), position(실수/b), start(선택지/c), loop(선택지/d)
|-
| 타임라인 a를 b까지 수행한 상태로 '''대기'''시킵니다.
|-
| colspan="3" | '''대기'''가 중요합니다. 게임메이커스튜디오에서 한번에 다룰수 있는 타임라인은 오직 하나입니다. 그 타임라인을 지정하는 액션이 바로 이것입니다. 타임라인을 지정하는것은 그래서 '''이 액션'''만이 가능합니다. 물론, 대기시킴과 동시에 타임라인 실행도 가능한데요, c를 Start immediately로 설정하면 됩니다. d의 경우 타임라인이 끝날 경우 루프할것인지를 설정하는 인자입니다.
|-
| rowspan="3" | 아이콘
| rowspan="2" | Time Line Position
| rowspan="2" | 타임라인 위치
| position(실수/a), Relative(스위치/b)
|-
| 현재 설정된 타임라인의 진행시간을 a로 바꿉니다.
|-
| colspan="3" | Path랑은 다르게, 여기서 position은 절대적인 시간이에요. 패스는 전체 길이에서 a만큼 곱하는 방식이었기에 0<=a<=1이었던거 기억하나요? 타임라인은 Step이라는 단위시간에 따라 움직이기 때문에, 여기서의 위치도 '''Step 수'''가 돼요.
|-
| rowspan="3" | 아이콘
| rowspan="2" | Time Line Speed
| rowspan="2" | 타임라인 속도
| speed(실수/a), Relative(스위치/b)
|-
| 타임라인의 step이 통상 게임 step의 a배만큼 짧아집니다.
|-
| colspan="3" | 설명이 좀 어렵나요? a가 2라면 통상 게임에 비해 타임라인의 step이 1/2이 되고, 그래서 step이 2배로 빠르게 흐르기 때문에 타임라인의 재생속도도 2배로 빨라진다는것을 의미해요. 그러니까, 게임에서의 시간의 a배만큼 빨라진다구요.
|-
| rowspan="3" | 아이콘
| rowspan="2" | Start Time Line
| rowspan="2" | 타임라인 실행
| 없음
|-
| 타임라인을 재생합니다.
|-
| 타임라인은 동시에 1개만 재생이 가능하기 때문에 설정은 따로 한다고 앞에서 말했어요! 여러가지 이유로 멈춘 타임라인을 다시 재생해요. 중간에서부터 재생도 가능해요.
|-
| rowspan="3" | 아이콘
| rowspan="2" | Pause Time Line
| rowspan="2" | 타임라인 일시정지
| 없음
|-
| 재생중인 타임라인을 일시정지합니다.
|-
| colspan="3" | 진행정도를 기억하고 일시정지시켜요. 그렇기 때문에 다시 타임라인을 재생한다면 일시정지된 시점부터 작동하겠죠?
|-
| rowspan="3" | 아이콘
| rowspan="2" | Stop Time Line
| rowspan="2" | 타임라인 정지
| 없음
|-
| 타임라인을 정지하고 0 스텝으로 되돌립니다.
|-
| 타임라인을 정지시킴과 동시에 초기화해요. 즉, 정지하고 재생하면 처음부터 재생돼요. 사실 정지에는 멈추고 0으로 되돌린다는 뜻이 같이 있잖아요?
|}
{| class="wikitable mw-collapsible mw-collapsed"
|+ Info
|-
! rowspan="3" | 아이콘
! rowspan="2" | 영문
! rowspan="2" | 번역
! 인자
|-
! 출력
|-
! colspan="3" | 설명
|-
| rowspan="3" | 아이콘
| rowspan="2" | Display Message
| rowspan="2" | 대화상자
| message(문자열,a)
|-
| a라고 적힌 대화상자를 띄웁니다.
|-
| 뭐 윈도우에서 에러나면 뜨는 대화상자 있잖아요? 그거에요. '나 "를 앞에 두면 대화상자 아이콘이 달라지고, #은 개행이에요. #을 쓰고싶다면 \#이라고 쓰면 돼요.
|-
| rowspan="3" | 아이콘
| rowspan="2" | URL Open
| rowspan="2" | 외부링크
| URL(문자열,a)
|-
| a로 향하는 웹사이트를 엽니다.
|-
| colspan="3" | 이 명령어를 쓰면 웹사이트가 열려요. 여기서 URL에는 되도록 정확한 주소를 써주는게 좋아요.<del>왠진 몰라도 도움말에서는 하라네요</del>
|}
{| class="wikitable mw-collapsible mw-collapsed"
|+ Game
|-
! rowspan="3" | 아이콘
! rowspan="2" | 영문
! rowspan="2" | 번역
! 인자
|-
! 출력
|-
! colspan="3" | 설명
|-
| rowspan="3" | 아이콘
| rowspan="2" | Restart Game
| rowspan="2" | 게임 재시작
| 없음
|-
| 게임 전체를 초기화합니다.
|-
| colspan="3" | 아예 초기화가 되어버려요. 기존에 게임내에 있었던 모든 인스턴스까지도 전부 삭제되고 초기화가 돼요. 모든 룸 별로 Restart Room을 먹이는 수준이죠. 단판으로 끝나는 게임이 아닌 이상 사용할때는 조심하셔야해요.
|-
| rowspan="3" | 아이콘
| rowspan="2" | End Game
| rowspan="2" | 게임 종료
| 없음
|-
| 게임을 종료합니다.
|-
| colspan="3" | 게임을 종료해요.<br>'''중요!''' : HTML5 의 모듈을 사용하는 게임은 이 액션을 사용하면 웹은 꺼지지않아요.<br>'''더더더더더더 중요!''' : 정말 중요하기에 더를 6개나 붙였습니다. '''iOS'''나 '''Windows Phone'''을 플랫폼으로 사용하는 게임이라면 '''결코 써서는 안되는 액션'''이에요. 저 두가지 플랫폼에서 이 액션이 실행될 경우 기기에 '''심각한 오류'''가 발생해 아예 '''벽돌로 만들어버리는경우도 있어요.'''<del>최종병기 게임종료</del> 이 액션이 사용되는 게임은 '''앱스토어에도 올릴수가 없도록 규정'''되어 있으므로 꼭 알아두세요!<ref>뭐 그정도 모듈을 다룰정도라면 이 문서를 읽지도 않겠지만요.</ref>
|-
| rowspan="2" | 아이콘
| rowspan="2" | Save Game
| rowspan="2" | 게임 저장
| file name(문자열/a)
|-
| 현재 게임 상태를 저장한 파일을 a라는 이름으로 프로젝트 폴더에 저장합니다.
|-
| rowspan="2" | 아이콘
| rowspan="2" | Load Game
| rowspan="2" | 게임 불러오기
| file name(문자열/a)
|-
| a에 저장된 게임 상태를 불러옵니다.
|-
| colspan="4" | 게임저장은 필수인 만큼 꼭 필요한 액션이라고 생각할수도 있습니다. 하지만, 게임메이커스튜디오는 다양한 가능성을 위해 특화된 장르가 없습니다. 그렇기 때문에 아예 통째로 현 상태를 저장해버립니다. 실제로 필요한 정보에 비해 쓸때없이 더 많은 정보가 저장되는데다가, 여러가지가 누락되는경우도 많습니다. 또한, 아무리 이걸 선언해도, 현재 스텝의 마지막에 이루어지기 때문에, 저장된 게임을 불러와도 '''기존에 있었던 인스턴스의 액션이 실행되는 경우가 있습니다.''' 그렇기 때문에 대부분의 사람들은 이 액션보다는 새로운 저장시스템을 만듭니다.
|}
{| class="wikitable mw-collapsible mw-collapsed"
|+ Resources
|-
! rowspan="3" | 아이콘
! rowspan="2" | 영문
! rowspan="2" | 번역
! 인자
|-
! 출력
|-
! colspan="3" | 설명
|-
| rowspan="2" | 아이콘
| rowspan="2" | Replace Sprite
| rowspan="2" | 스프라이트 대체
| sprite(선택지,a), filename(문자열,b), image(실수,c)
|-
| b를 세로로 c분할한 뒤 프레임으로 만들고 a를 대체합니다.
|-
| rowspan="2" | 아이콘
| rowspan="2" | Replace Background
| rowspan="2" | 백그라운드 대체
| background(선택지,a), filename(문자열,b)
|-
| b로 a를 대체합니다.
|-
| colspan="4" | 기본적으로 리소스들은 프로그램 안에 내장합니다. 하지만, 이것을 이용하면 리소스들을 따로 분리함으로서 프로그램의 용량을 낮추고, 로컬에 있는 리소스들을 불러와서 쓸 수 있습니다.<br>'''중요''' : 해당 리소스가 작동중인 상태에서 다른 로컬 리소스로 대체할경우 에러가 납니다. 절때로 하지마세요!
|}


=== control 탭 ===
=== control 탭 ===

2015년 12월 17일 (목) 15:48 판

개요

게임메이커스튜디오는 GML이라는 자체 프로그래밍 언어를 제공하지만, 더 쉽고 직관적으로 사용가능한 액션만으로도 게임을 만들 수 있을 정도로 정리가 매우 잘 되어있습니다. 하지만 아는 것이 곧 힘이죠. 게임메이커스튜디오에서 제공하는 기본적인 액션들은 어떤게 있는지 알아보아요.

이벤트 조건

이벤트 조건
아이콘 영문 번역 설명
Create 생성 시 인스턴스가 만들어지는 순간 발동합니다. (인스턴스가 뭔지는 앞에서 설명했어요!)
룸에 배치된 오브젝트도 해당 룸에 들어가는 순간 인스턴스를 생성한것으로 취급합니다.
Destroy 삭제 시 인스턴스가 삭제되는 순간 발동합니다.
생성된 인스턴스는 Destroy Instance 액션으로 삭제가 가능합니다.이 기능이 없다면 무한히 만들어지는 인스턴스때문에 컴퓨터가 뻗겠죠?
Alarm 알람 인스턴스별로 지정된 알람이 울릴경우 발동합니다.
알람설정은 Set Alarm 기능으로 지정이 가능합니다. 초 단위가 아니라 스텝 단위로 계산합니다! (스텝에 관해서도 앞에서 설명했어요!)
Step 스텝 매 스텝마다 반복합니다.
스텝 이벤트에는 3가지가 있습니다. Step, Begin step, End step이 있는데요, 모든 인스턴스에 지정된 스텝 이벤트는 한 스텝 안에서 동시에 일어납니다. 하지만, 특별히 먼저 또는 나중에 실행되어야하는 액션이 있다면 Begin 또는 End를 골라주시면 됩니다. 이거 골라도 결국 한 스텝안에서 실행되는건 동일합니다!
Collision 충돌 시 선택한 다른 오브젝트의 인스턴스와 충돌하는 순간 발동합니다.
충돌이 계속 유지될경우에는 이것도 한 스텝마다 반복해요. 한번하고 끝이 아니에요!
Solid 옵션이 켜져있는 오브젝트는 접촉하였을때, 꺼져있는 경우는 겹쳐졌을때 충돌 하였다 라고 인식해요.
Keyboard 키보드를 누르는 동안 선택한 키를 누르는동안 매 스텝마다 반복합니다.
Mouse 마우스를 누르는 동안 마우스는 누르면 엄청나게 많은 선택항목이 있어요. 기본적으로 이 액션은 인스턴스 안에 마우스가 있는 상태에서의 클릭에만 작동해요.
접미사가 없는건 누르는동안 스텝마다 반복하는것을 의미해요.
pressed는 마우스를 누르는 순간 딱 한번 실행돼요.
released는 마우스를 떼는 순간 딱 한번 실행돼요.
enter는 마우스의 클릭과 상관없이 인스턴스의 충돌범위안에 마우스가 들어오면 돼요.
leave는 반대로 충돌범위에서 나가있을경우 실행돼요.
Global mouse는 인스턴스의 충돌범위 밖에서 눌러도 실행되도록 설정하는것이에요.
others 기타 그 외의 조건들을 모아두었어요. 딱히 어려운 단어는 없을거에요!
Draw 드로우 기본적으로 Step과 같아요. 하지만, 이게 따로 있는 이유는, 화면에 무언가를 표시하는 액션은 드로우 이벤트 안에 있어야만 작동하기 때문이에요. 그런 액션들은 액션 아이콘 틀이 녹색으로 되어있어요. Draw GUI는 위치의 기준을 실시간으로 현재 보고있는 화면의 왼쪽 상단 끝으로 맞춰주는 기능이에요.[1]
Key Press 키보드를 누를 때 Press가 뭔지는 마우스에서 선택했으니 넘어갈게요.
Key Release 키보드를 땔 때 Release가 뭔지도 이미 설명했어요!
Asynchronous 비동기 선언 게임메이커 스튜디오 자체로 작동이 불가능한 조건이에요. 게임 밖에서 무언가 게임에게 간섭하는 경우에만 이 이벤트를 사용할 수 있어요. 그러니까 리브레 게임즈 달고 스팀에 팔 정도가 되어야 쓸일이 생겨요! 일반적으로 쓸 일은 없습니다.


액션

액션을 설정할 때 위에 보면 Self, Other, Object 라는 말이 있습니다. 이건 적용대상 이에요.

move 탭

Move
아이콘 영문 번역 인자
출력
설명
아이콘 Move Fixed 고정이동 directions(방향/a), speed(실수/b), Relative(스위치/c)
매 스텝마다 a의 방향으로 b만큼 c에 따라 이동합니다.
기본적인 이동 명령입니다. 직관적인만큼 방향도 한정되어 있습니다. 이동하는 거리는 픽셀 단위입니다.
중요! Relative가 켜져있다면 기존의 이동속도와의 벡터합이 출력됩니다. 꺼져있다면 기존의 이동을 멈추고 [2] 이동해요.
아이콘 Move Free 자유이동 direction(실수/a), speed(실수/b), Relative(스위치/c)
매 스텝마다 a의 방향으로 b만큼 c에 따라 이동합니다.
위의 고정이동과 같지만, 방향 설정이 굉장히 자유로워졌습니다. 방향의 기준은 x축이며, a의 단위는 호도법이 아닌 육십분법으로 나타냅니다.[3][4]
아이콘 Move Towards 목표이동 x(실수/x), y(실수/y), speed(실수,a), Relative(스위치/b)
자신의 위치에서 (x,y)로 향하는 방향으로 매 스텝 a씩 이동합니다.
x와 y에는 다른 오브젝트의 좌표로 설정하는것도 가능합니다.(오브젝트이름.x와 오브젝트이름.y로 하면 돼요!) 참고로 x,y 수치가 바뀌어도 방향이 바뀌지는 않습니다. 이 액션이 실행된 당시의 방향으로 고정돼요.[5] 이 이벤트의 Relative는 다른 이동류 액션과는 달라요! 어려우니까사실 잘 모르니까</def> 넘어갈게요.
아이콘 Speed Horizontal 수평이동 hor. speed(실수/a), Relative(스위치/b)
매 스텝마다 우측방향으로 a만큼 이동합니다.
자유이동에서 방향을 0으로 한것과 같아요.
아이콘 Speed Vertical 수직이동 vert. speed(실수/a), Relative(스위치/b)
매 스텝마다 아래방향으로 a만큼 이동합니다.
자유이동에서 방향을 270(=-90)으로 한것과 같아요.
아이콘 Set Gravity 중력설정 direction(실수/a), gravity(실수/b), Relative(스위치/c)
매 스텝마다 a의 방향으로 b의 가속도가 적용됩니다.
이름은 중력이지만, 사실은 가속도입니다. 지금까지는 전부 일정한 속도였고, 가속도를 구현하기 위해서는 계속해서 속도를 더해줘야 했습니다만, 이 액션을 사용한다면 매우 간편해지죠. 매 스텝마다 가속도만큼 속도가 증가한다고 보면 됩니다.
아이콘 Reverse Horizontal 수평반전 없음
가로방향의 이동속도를 반전시킵니다.
세로로 서있는 벽에 공이 부딫힌다면 어떻게 될까요? 세로로 이동하는 방향은 그대로인데 가로로 이동하는 방향은 팅겨나지요. 속도를 x축속도 y축속도로 나누었을때에 x축 속도에 -1을 곱하는것과 같습니다. 말 그대로에요.
아이콘 Reverse Vertical 수직반전 없음
세로방향의 이동속도를 반전시킵니다.
이미 다 설명했어요!
아이콘 Set Friction 마찰설정 friction(실수/a), Relative(스위치/b)
오브젝트의 속도를 매 스텝 a만큼 줄입니다.
중력은 방향을 가진 가속도라면, 마찰은 방향이 없는 가속도에요. 중력은 가속도를 방향을 줘서 준다면, 마찰은 방향이 무조건 현재 이동방향의 반대방향이에요.
Jump
아이콘 영문 번역 인자
출력
설명
아이콘 Jump to Position 좌표점프 x(실수/x), y(실수/y), Relative(스위치/a)
x,y로 이동합니다.
위의 이동과는 달라요! Move는 매 스텝 ~속도로 이동 이라면, Jump는 순식간에 위치로 이동 이에요. 캐릭터의 이동에는 Move를 쓸 것 같지만, 단순한 게임에서는 이 좌표점프가 더 좋아요. Relative를 켜면 중심이 자기 자신이 되기 때문에, 여기서 x에 3을 넣는다면? 오른쪽으로 3만큼 가게되는거에요. 매 스탭마다 반복하게 한다면 속력 구현도 가능하겠죠?
아이콘 Jump to Start 시작점프 없음
해당 인스턴스가 생성된 지점으로 이동합니다.
리셋! 자세한 설명은 생략합니다. 인스턴스가 뭔지는 앞에서 설명했어요!
아이콘 Jump to Random 무작위점프 snap hor(실수/a), snap vert(실수/b)
룸을 세로 a, 가로 b의 격자로 쪼갠 뒤, 격자가 교차하는 지점중 무작위지점으로 이동합니다.
단위는 픽셀입니다. 써본적이 없어서 설명을 못하겠네!
아이콘 Align to Grid 격자정렬 snap hor(실수/a), snap vert(실수/b)
룸을 세로 a, 가로 b의 격자로 쪼갠 뒤, 격자가 교차하는 지점중 가장 가까운 곳으로 이동합니다.
단위는 픽셀입니다. 써본적이 없어서 설명을 못하겠네!
아이콘 Wrap Screen 화면연결 direction(선택지/a)
a방향으로 화면을 이어줍니다.
설명이 이상한데, 위쪽 끝까지 가면 아래쪽으로 다시 나타나는거에요. 당연하겠지만 이동하는 오브젝트가 아니라 그 룸의 다른 시스템 오브젝트로 해주는게 좋아요.
아이콘 Move to Contact 접근이동 direction(실수/a), maximum(실수/b), against(선택지/c)
c에 해당하는 존재와 b 이하의 속도로 부딫힌 경우, b만큼 이동방향의 반대방향으로 움직인 다음, 속도를 0으로 하고, a의 방향으로 그 존재와 닿을때까지 가까워집니다.
뭐래는거야 말하자면, 땅에 캐릭터가 박혀버리는것을 방지하는 액션입니다. 캐릭터가 박혀버리면, 다시 밀어내고, 안박히겠금 가깝게 옮겨주는거죠.
아이콘 Bounce 반동설정 precise(선택지/a), against(선택지/b)
이동중에 b에 해당하는 인스턴스와 만날경우 튕겨납니다.
입사각과 반사각은 쉬운 과학에서 알아보아요. 참고로 precise에서 not precisely를 선택하면 부딫힐때 사각형과 부딫힌것으로 판정합니다. 반대의 경우에는 설정해둔 마스크에 부딫힌것으로 판정하죠.
paths
아이콘 영문 번역 인자
출력
설명
아이콘 Set Path 경로설정 path(패스/a), speed(실수/b), at end(선택지/c), relative(선택지/d)
오브젝트가 a를 b의 속도로 실행하며, 끝난 경우 c를 합니다. d가 absolute인 경우 a의 시작점으로 점프한 후 실행합니다.
path는 경로입니다. 미리 어떻게 움직일지 경로를 짜두고 쓰시면 됩니다.
아이콘 End Path 경로종료 없음
현재 실행중인 path를 종료합니다.
말그대로입니다.
아이콘 Path Position 경로위치 position(실수/a), Relative(스위치/b)
path상의 a시점부터 시작합니다. b가 꺼져있다면 a시점의 위치로 점프한 후 시작합니다.
path의 시점을 조종합니다. a의 범위는 0에서 1 사이에요! 0일때 시작하는 시점, 1일때 끝나는 시점이에요. 조심하세요!
아이콘 Path Speed 경로속도 speed(실수/a), Relative(스위치/b)
현재 실행중인 경로의 속도를 a로 바꿉니다.
말그대로에요.
steps
아이콘 영문 번역 인자
출력
설명
아이콘 Step Towards 목표추적 x(실수/x), y(실수/y), speed(실수/a), stop at(선택지,b)
(x,y)방향으로 a의 속도로 이동합니다. 이동 중에 b를 만난 경우 이동을 멈춥니다.
위의 목표이동(move towards)에 부딫히면 취소 기능이 추가되었어요. b는 solid인지 all인지를 고르는거에요. solid는 앞에서 설명했어요!
아이콘 Step Avoid 목표회피추적 x(실수/x), y(실수/y), speed(실수/a), avoid(선택지,b)
(x,y)방향으로 a의 속도로 이동합니다. 이동 중에 b를 피합니다.
엄청 똑똑한 AI가 되어버렸어요. 목표이동에 회피가 추가된 액션이에요. 본질적으론 목표추적과 같은데, 이건 아예 피해서 가버려요.

main1 탭

Objects
아이콘 영문 번역 인자
출력
설명
아이콘 Create Instance 인스턴스 생성 object(선택지/a), x(실수/x), y(실수/y), Relative(스위치/b)
(x,y)위치에 a의 인스턴스를 만듭니다.
오브젝트는 설계도, 인스턴스는 제품. 기억하시죠?
아이콘 Create Moving 이동중인 인스턴스 생성 object(선택지/a), x(실수/x), y(실수/y), speed(실수/b), direction(실수/c), Relative(스위치/d)
(x,y)위치에 c의 방향으로 매 스텝 b만큼 이동하는 a의 인스턴스를 만듭니다.
생성과 동시에 움직여요. 총알같은걸 만들때 유용하겠죠?
아이콘 Create Random 무작위 인스턴스 생성 object1(선택지/a), object2(선택지/b), object3(선택지/c), object4(선택지/d), x(실수/x), y(실수/y), Relative(스위치/e)
(x,y)위치에 a~d중 하나의 인스턴스를 만듭니다.
사실 확률조정도 안되는만큼 차라리 코드로 구현하는게 더 나을수도 있어요.
아이콘 Change Instance 인스턴스 변경 change into(선택지/a), perform events(선택지/b)
인스턴스를 다른 오브젝트의 인스턴스로 바꿉니다. b가 yes일 경우, 인스턴스 생성으로 취급됩니다.
인스턴스 생성으로 취급한다는 말은, 인스턴스 생성 시에 있는 액션들이 발동한다는 뜻입니다.
아이콘 Destroy Instance 인스턴스 파괴 없음
이 인스턴스를 파괴합니다.
짧고 강한 액션입니다. 말그대로 없애버려요. 이 액션이 발동하면 해당 인스턴스는 파괴 시 액션을 수행하고 없어집니다.
아이콘 Destroy at Position 원격 파괴 x(실수/x), y(실수/y), Relative(스위치/a)
(x,y) 위치에 있는 모든 인스턴스를 파괴합니다.
x,y에 중심이 있는 인스턴스가 아니라, x,y를 마스크로 덮는(충돌범위와 비슷한겁니다.) 인스턴스는 전부 삭제해버립니다.
Sprite
아이콘 영문 번역 인자
출력
설명
아이콘 Change Sprite 스프라이트 변경 sprite(선택지/a), subimage(실수/b), speed(실수,c)
인스턴스의 스프라이트를 a 스프라이트의 b프레임으로 바꿉니다. b가 -1일 경우, 인스턴스의 스프라이트는 a를 c로 재생하는 애니메이션이 됩니다.
스프라이트에 프레임이 없이 단순한 그림파일이라면 subimage를 0으로 두면 됩니다. subimage와 speed는 애니메이션을 다룰때만 사용합니다.
아이콘 Transform Sprite 스프라이트 변형 xscale(실수/a), yscale(실수/b), angle(실수/c), mirror(선택지/d)
인스턴스의 스프라이트를 가로 a배, 세로 b배만큼 키우고, c만큼 반시계 방향으로 회전시키며, d로 반전시킵니다.
출력이 깁니다만, 어렵지는 않습니다. 간단하게 스프라이트를 변형시킵니다.
아이콘 Color Sprite 스프라이트 색칠 color(웹컬러/a), alpha(실수/b)
인스턴스의 스프라이트를 a로 덧칠한 뒤에 b만큼만 불투명하게 합니다.
alpha는 이미지의 투명도를 다루는 변수인데요, 범위는 0<=alpha<=1이에요. 1일 경우 완전 불투명하고요, 0일 경우 완전 투명해져서 안보이게 돼요.
sounds
아이콘 영문 번역 인자
출력
설명
아이콘 Play Sound 사운드 재생 sound(선택지/a), loop(선택지/b)
a를 재생하고, 끝날경우 b합니다.
b가 true일경우, 노래가 끝나면 처음부터 다시 재생합니다.
아이콘 Stop Sound 사운드 종료 sound(선택지/a)
a가 재생중이라면 정지합니다.
말그대로입니다.
아이콘 Check Sound 사운드 조건문 sound(선택지/a) NOT(스위치/b)
a가 재생중이라면 바로 아래의 액션을 실행합니다. b가 켜져있을경우에는 a가 재생중이 아니어야만 실행합니다.
이번 액션 아이콘은 다른 아이콘들과는 달리 팔각형으로 되어있습니다. 이런 액션들은 조건문 액션이라고 합니다. 조건문 액션은 현재 게임에서 어떤 일이 벌어지고 있는지를 확인하고, 설정한 조건이 맞다면 바로 아래에 있는 액션 하나를 실행합니다. 당연히, 아니라면 바로 앞의 액션은 무시하고 더 밑의 액션을 실행하게 됩니다. control탭에서 더 자세히 알아보자구요!
Rooms
아이콘 영문 번역 인자
출력
설명
아이콘 Previous Room 이전 룸 없음
이전 룸으로 이동합니다.
여기서 룸 순서는 게임메이커스튜디오에서 왼쪽에 나오는 디렉토리상의 순서입니다.
아이콘 Next Room 다음 룸 없음
다음 룸으로 이동합니다.
여기서 룸 순서는 게임메이커스튜디오에서 왼쪽에 나오는 디렉토리상의 순서입니다.
아이콘 Restart Room 룸 초기화 없음
현재 룸을 초기상태로 만듭니다.
룸을 초기화해버립니다. 당연히, 모든 인스턴스가 사라지겠죠. Persistent가 켜져있는 오브젝트의 인스턴스는 그대로겠지만, 이 룸에 있는 Persistent 오브젝트의 경우 인스턴스를 새로 만듦으로서 초기화가 됩니다.
아이콘 Different Room 다른 룸 new room(선택지/a)
룸 a로 이동합니다.
스테이지 관리할때 쓸만하겠죠.
아이콘 Check Previous 이전 룸 조건문 없음
이전 룸이 존재한다면 바로 아래의 액션을 실행합니다.
조건문입니다. 그냥 디렉토리 상에 위에 룸이 있으면 작동합니다.
아이콘 Check Next 다음 룸 조건문 없음
다음 룸이 존재한다면 바로 아래의 액션을 실행합니다.
조건문입니다. 이건 디렉토리 상에 아래에 룸이 있다면 작동하겠죠.

main2 탭

Timing
아이콘 영문 번역 인자
출력
설명
아이콘 Set Alarm 알람 생성 number of steps(실수/a), in alarm no(선택지/b)
a스텝 후에 b알람을 작동합니다.
이벤트 조건에 알람, 기억하시나요? 이 액션으로 알람을 조건으로 하는 액션들을 실행할 수 있습니다.
아이콘 Set Time Line 타임라인 설정 time line(선택지/a), position(실수/b), start(선택지/c), loop(선택지/d)
타임라인 a를 b까지 수행한 상태로 대기시킵니다.
대기가 중요합니다. 게임메이커스튜디오에서 한번에 다룰수 있는 타임라인은 오직 하나입니다. 그 타임라인을 지정하는 액션이 바로 이것입니다. 타임라인을 지정하는것은 그래서 이 액션만이 가능합니다. 물론, 대기시킴과 동시에 타임라인 실행도 가능한데요, c를 Start immediately로 설정하면 됩니다. d의 경우 타임라인이 끝날 경우 루프할것인지를 설정하는 인자입니다.
아이콘 Time Line Position 타임라인 위치 position(실수/a), Relative(스위치/b)
현재 설정된 타임라인의 진행시간을 a로 바꿉니다.
Path랑은 다르게, 여기서 position은 절대적인 시간이에요. 패스는 전체 길이에서 a만큼 곱하는 방식이었기에 0<=a<=1이었던거 기억하나요? 타임라인은 Step이라는 단위시간에 따라 움직이기 때문에, 여기서의 위치도 Step 수가 돼요.
아이콘 Time Line Speed 타임라인 속도 speed(실수/a), Relative(스위치/b)
타임라인의 step이 통상 게임 step의 a배만큼 짧아집니다.
설명이 좀 어렵나요? a가 2라면 통상 게임에 비해 타임라인의 step이 1/2이 되고, 그래서 step이 2배로 빠르게 흐르기 때문에 타임라인의 재생속도도 2배로 빨라진다는것을 의미해요. 그러니까, 게임에서의 시간의 a배만큼 빨라진다구요.
아이콘 Start Time Line 타임라인 실행 없음
타임라인을 재생합니다.
타임라인은 동시에 1개만 재생이 가능하기 때문에 설정은 따로 한다고 앞에서 말했어요! 여러가지 이유로 멈춘 타임라인을 다시 재생해요. 중간에서부터 재생도 가능해요.
아이콘 Pause Time Line 타임라인 일시정지 없음
재생중인 타임라인을 일시정지합니다.
진행정도를 기억하고 일시정지시켜요. 그렇기 때문에 다시 타임라인을 재생한다면 일시정지된 시점부터 작동하겠죠?
아이콘 Stop Time Line 타임라인 정지 없음
타임라인을 정지하고 0 스텝으로 되돌립니다.
타임라인을 정지시킴과 동시에 초기화해요. 즉, 정지하고 재생하면 처음부터 재생돼요. 사실 정지에는 멈추고 0으로 되돌린다는 뜻이 같이 있잖아요?
Info
아이콘 영문 번역 인자
출력
설명
아이콘 Display Message 대화상자 message(문자열,a)
a라고 적힌 대화상자를 띄웁니다.
뭐 윈도우에서 에러나면 뜨는 대화상자 있잖아요? 그거에요. '나 "를 앞에 두면 대화상자 아이콘이 달라지고, #은 개행이에요. #을 쓰고싶다면 \#이라고 쓰면 돼요.
아이콘 URL Open 외부링크 URL(문자열,a)
a로 향하는 웹사이트를 엽니다.
이 명령어를 쓰면 웹사이트가 열려요. 여기서 URL에는 되도록 정확한 주소를 써주는게 좋아요.왠진 몰라도 도움말에서는 하라네요
Game
아이콘 영문 번역 인자
출력
설명
아이콘 Restart Game 게임 재시작 없음
게임 전체를 초기화합니다.
아예 초기화가 되어버려요. 기존에 게임내에 있었던 모든 인스턴스까지도 전부 삭제되고 초기화가 돼요. 모든 룸 별로 Restart Room을 먹이는 수준이죠. 단판으로 끝나는 게임이 아닌 이상 사용할때는 조심하셔야해요.
아이콘 End Game 게임 종료 없음
게임을 종료합니다.
게임을 종료해요.
중요! : HTML5 의 모듈을 사용하는 게임은 이 액션을 사용하면 웹은 꺼지지않아요.
더더더더더더 중요! : 정말 중요하기에 더를 6개나 붙였습니다. iOSWindows Phone을 플랫폼으로 사용하는 게임이라면 결코 써서는 안되는 액션이에요. 저 두가지 플랫폼에서 이 액션이 실행될 경우 기기에 심각한 오류가 발생해 아예 벽돌로 만들어버리는경우도 있어요.최종병기 게임종료 이 액션이 사용되는 게임은 앱스토어에도 올릴수가 없도록 규정되어 있으므로 꼭 알아두세요![6]
아이콘 Save Game 게임 저장 file name(문자열/a)
현재 게임 상태를 저장한 파일을 a라는 이름으로 프로젝트 폴더에 저장합니다.
아이콘 Load Game 게임 불러오기 file name(문자열/a)
a에 저장된 게임 상태를 불러옵니다.
게임저장은 필수인 만큼 꼭 필요한 액션이라고 생각할수도 있습니다. 하지만, 게임메이커스튜디오는 다양한 가능성을 위해 특화된 장르가 없습니다. 그렇기 때문에 아예 통째로 현 상태를 저장해버립니다. 실제로 필요한 정보에 비해 쓸때없이 더 많은 정보가 저장되는데다가, 여러가지가 누락되는경우도 많습니다. 또한, 아무리 이걸 선언해도, 현재 스텝의 마지막에 이루어지기 때문에, 저장된 게임을 불러와도 기존에 있었던 인스턴스의 액션이 실행되는 경우가 있습니다. 그렇기 때문에 대부분의 사람들은 이 액션보다는 새로운 저장시스템을 만듭니다.
Resources
아이콘 영문 번역 인자
출력
설명
아이콘 Replace Sprite 스프라이트 대체 sprite(선택지,a), filename(문자열,b), image(실수,c)
b를 세로로 c분할한 뒤 프레임으로 만들고 a를 대체합니다.
아이콘 Replace Background 백그라운드 대체 background(선택지,a), filename(문자열,b)
b로 a를 대체합니다.
기본적으로 리소스들은 프로그램 안에 내장합니다. 하지만, 이것을 이용하면 리소스들을 따로 분리함으로서 프로그램의 용량을 낮추고, 로컬에 있는 리소스들을 불러와서 쓸 수 있습니다.
중요 : 해당 리소스가 작동중인 상태에서 다른 로컬 리소스로 대체할경우 에러가 납니다. 절때로 하지마세요!

control 탭

score 탭

extra 탭

draw 탭

각주

  1. Draw 이벤트도 열어보면 꽤 많은데, 전부 순서를 말해주는 것이에요. Pre Draw Event>Draw Begin Event>Draw Event>Draw End Event>Post Draw Event>Draw GUI Begin Event>Draw GUI Event>Draw GUI End Event 순서대로 작동해요.
  2. 오른쪽으로 2만큼 움직이는 물체에게 Relative 키고 왼쪽으로 3만큼 이동하라고 한다면, 2+(-3)=-1. 왼쪽으로 1만큼 이동하게 됩니다. 아니라면 왼쪽으로 3만큼 가겠죠.
  3. 동 북 서 남 순서대로 0, 90, 180, 270이 되는거죠.
  4. 일반적으로 프로그래밍, 포토샵 등등의 도구들은 y축이 아래로 향합니다. 수학때 배운 좌표평면과는 차이가 있으니 조심하세요. 원점 (0,0)은 왼쪽 상단 끝부분입니다.
  5. 물론 스텝이벤트라면 스텝마다 갱신되므로 계속 따라가려고 하겠지요.
  6. 뭐 그정도 모듈을 다룰정도라면 이 문서를 읽지도 않겠지만요.