방 밖으로 감싸기 (Wrap Around Room)
이 문서는 인스턴스(instance)가 방의 한쪽에서 나가면 반대편에서 다시 나타나도록 하는 기능에 대해 설명합니다. 이 기능은 주로 Other - Outside Room Event 또는 Step Event에서 사용되며, 수평(가로) 또는 수직(세로)으로 감쌀 것인지, 두 방향 모두 감쌀 것인지 선택할 수 있습니다. 또한, 감싸기 전 인스턴스가 방 영역 밖으로 이동해야 하는 픽셀 수를 설정할 수 있는 여유값(margin)을 지정할 수 있습니다.
여유값(Margin)
여유값은 인스턴스가 방의 경계에서 감싸기 위해 얼마나 이동해야 하는지를 결정하는 값입니다. 인스턴스는 이동 속도가 있어야 제대로 감싸기가 작동하므로, 감싸기 방향은 이동 방향에 따라 결정됩니다.
작동 구문(Syntax)
actionSyntax
Arguments (인자)
| 인자 | 설명 |
|---|---|
| Margin | 방의 가장자리를 검사할 여유값 |
| Horizontal | 수평 감싸기를 활성화 (기본 활성화) |
| Vertical | 수직 감싸기를 활성화 (기본 활성화) |
예제
아래의 코드 블록은 Step Event에 배치된 경우, 인스턴스가 방 영역 밖으로 32픽셀 이상 이동했을 때 수평 또는 수직 방향으로 감싸지게 합니다:
if (x < -32) {
x = room_width + 32;
} else if (x > room_width + 32) {
x = -32;
}
if (y < -32) {
y = room_height + 32;
} else if (y > room_height + 32) {
y = -32;
}
활용 및 응용 예제
- 우주 게임에서의 사용:
- 우주선이 방을 벗어나면 반대편에서 나타나도록 설정합니다. 이렇게 하면 플레이어는 계속해서 화면을 탐험할 수 있습니다.
- 퍼즐 게임에서의 활용:
- 퍼즐 조각이 방의 경계를 넘어서면 반대편으로 나타나도록 설정하여 도전적인 게임 환경을 제공합니다.
- 플랫폼 게임에서의 적용:
- 캐릭터가 맵의 한쪽 끝을 지나면 반대편으로 이동하도록 하여, 맵을 더욱 동적으로 만들어 줍니다.
- 타임 어택 게임에서의 활용:
- 플레이어가 제한 시간 내에 전체 방을 탐험할 수 있도록, 벗어난 경우 빠르게 반대편으로 이동하게 하여 톱니바퀴의 밸런스를 맞춥니다.
지금까지 방 밖으로 감싸는 기능과 그 활용 예제에 대해 설명했습니다. 이 기능이 게임 개발에 어떻게 도움이 될 수 있는지 이해하시길 바랍니다!