방향 및 움직임 반전 액션 (Reverse)
이 문서는 특정 값들을 반전시키는 액션에 대해 설명합니다. 이 액션은 방향과 움직임에 관련된 값들을 조정할 수 있습니다.
사용 가능한 옵션
- 방향 반전: 현재 방향에 180°를 추가합니다 (필요시 360°로 순환합니다. 예를 들어, 270° 반전 시 90°가 됩니다).
- 수평 및 수직 속도 반전: 주어진 속도 벡터를 -1로 곱하여 반전합니다.
- 중력 반전: 방향 반전과 비슷하지만 중력 방향에 대해 적용됩니다.
액션 구문
reverse(direction);
인수 설명
| 인수 | 설명 |
|---|---|
| direction | 반전할 방향 (예: 0°, 90°, 180° 등) |
예제 코드
다음 코드는 인스턴스가 "obj_Wall"과 충돌하는지 확인 후, 충돌 여부에 따라 속도를 반전시킵니다.
// 수평 충돌 검사
if (place_meeting(x + hspeed, y, obj_Wall)) {
hspeed = -hspeed; // 수평 속도 반전
}
// 수직 충돌 검사
if (place_meeting(x, y + vspeed, obj_Wall)) {
vspeed = -vspeed; // 수직 속도 반전
}
활용 및 응용 예제
- 플랫폼 게임: 플레이어가 벽에 부딪혔을 때 반대 방향으로 튕겨 나가게 하는 데 활용할 수 있습니다.
if (place_meeting(x + hspeed, y, obj_Wall)) {
hspeed = reversed(hspeed); // 반전 함수 사용
}
- 등장 캐릭터: 적이 일정 범위에서 플레이어를 감지하고 반대 방향으로 움직이게 할 수 있습니다.
if (distance_to_object(obj_Player) < detection_range) {
hspeed = -abs(hspeed); // 속도를 반전하여 반대 방향으로 이동
}
- 중력 기반 게임: 중력이 충돌하는 방향에 따라 반전하도록 설정하여 플레이어가 연속적으로 바닥과 천장에서 튕기도록 만들 수 있습니다.
if (place_meeting(x, y + gravity, obj_Ground)) {
gravity = -gravity; // 중력 반전
}
결론
위에서 설명한 반전 액션은 게임 개발에서 유용하게 사용될 수 있는 기능입니다. 다양한 상황에 맞게 조정할 수 있으며, 이를 통해 플레이어의 경험을 더욱 풍부하게 만들 수 있습니다.
© Copyright YoYo Games Ltd. 2023 All Rights Reserved