game_change 함수 설명 및 활용 예제
game_change
함수는 현재 게임을 종료하고 포함된 파일에서 다른 게임을 시작하는 기능을 제공합니다. 이 함수를 사용하면 메인 게임에서 다른 게임을 실행할 수 있으며, 이들 게임은 다른 GameMaker 프로젝트에 저장될 수 있습니다. 실행된 게임에서도 이 함수를 호출하여 메인 게임으로 돌아갈 수 있습니다. 이 함수는 Windows, macOS, PS4, PS5 및 Switch 플랫폼에서 지원됩니다.
주요 기능
- 게임 전환: 현재 게임을 종료하고 다른 게임을 시작합니다.
- 파일 구조: 자식 게임의 외부 파일은 메인 게임의 데이터 파일에 포함되어 접근할 수 있습니다.
- 플랫폼 지원: 특정 플랫폼에서만 작동하며, 일부 플랫폼에서는 패키지 빌드에서만 작동합니다.
사용 시 주의 사항
- 메인 게임에서 시작할 게임은 반드시
Included Files
의 하위 디렉토리에 포함되어야 합니다. - 각 게임의
data.win
파일과 기타 외부 포함 파일은 이 폴더에 위치해야 합니다.
예시 폴더 구조
게임 이름 | 파일 이름 |
---|---|
game1 | game1.win |
bgm_groovy.ogg | |
texgroup1_0.yy | |
texoptions.ini | |
game2 | game2.win |
game_data.json | |
options.ini |
함수 문법
game_change(working_directory, launch_parameters);
매개변수 설명
매개변수 | 타입 | 설명 |
---|---|---|
working_directory | String | 시작할 게임의 작업 디렉토리 |
launch_parameters | String | 시작할 게임에 전달할 명령줄 매개변수 |
플랫폼별 예시
플랫폼 | 작업 디렉토리 | 실행 매개변수 |
---|---|---|
Windows | "/game2" | "-game game2.win" |
macOS | "game2" | |
PS4/PS5 | "-game /app0/games/game2/game.win" | |
Switch | "rom:/game2/" |
활용 예제
예제 1: 포함된 게임 시작 (Windows)
game_change("/chapter3", "-game chapter3.win");
위 코드는 런처 게임에서 실행되며, Included Files
의 하위 디렉토리인 chapter3
에 저장된 "Chapter 3" 게임을 시작합니다.
예제 2: 메인/런처 게임으로 돌아가기 (Windows)
game_change("/../", "-game main_game.win");
위 코드는 런처 게임에서 실행된 게임에서 메인/런처 게임으로 돌아갑니다. 두 개의 점 ..
은 현재 작업 디렉토리보다 한 단계 위의 디렉토리를 나타냅니다.
예제 3: macOS에서 게임 시작
game_change("game2", "");
이 코드는 macOS에서 game2
디렉토리의 게임을 시작합니다.
예제 4: Switch에서 게임 시작
game_change("rom:/game2/", "-game game2.win");
이 코드는 Switch 플랫폼에서 game2
게임을 시작합니다.