ystart 변수 설명서
ystart 변수는 인스턴스가 방에 처음 생성될 때의 초기 y 위치를 저장합니다. 이 변수는 읽기 전용이 아니며, 읽는 것뿐만 아니라 설정도 가능합니다.
구문
ystart;
반환값
- 단일 정밀도 부동 소수점 값 (single precision floating point value)
예제
다음 코드는 "obj_spike" 인스턴스와 충돌했을 때, 점수를 100점 차감하고 인스턴스를 초기 위치로 되돌리는 예제입니다.
if (place_meeting(x, y, obj_spike)){
score -= 100;
x = xstart;
y = ystart;
}
위 코드의 동작 순서는 다음과 같습니다: 1. 현재 인스턴스가 "obj_spike"와 충돌하는지를 확인합니다. 2. 충돌이 발생하면 점수에서 100을 차감합니다. 3. 인스턴스의 x 좌표와 y 좌표를 각각 xstart와 ystart로 되돌립니다.
활용 예제
| 예제 설명 | 코드 |
|---|---|
| 1. 게임 오버 처리 | gml if (health <= 0) { x = xstart; y = ystart; score = 0; } |
| 2. 레벨 변화 시 초기화 | gml if (room == rm_next_level) { x = xstart; y = ystart; } |
| 3. 맵 재시작 시 위치 초기화 | gml if (restart) { x = xstart; y = ystart; } |
| 4. 타이머로 일정 시간 후 위치 초기화 | gml if (timer == 0) { x = xstart; y = ystart; } |
| 5. 특정 이벤트 발생 시 원래 위치로 돌아가기 | gml if (event_occurred) { x = xstart; y = ystart; } |
이와 같이 ystart 변수를 활용하여 인스턴스의 위치를 적절하게 초기화하고, 게임의 다양한 상황에서 유용하게 사용할 수 있습니다.