인스턴스 생명 그리기 (Draw Instance Lives)
이 문서는 인스턴스의 생명 (lives)을 나타내기 위해 스프라이트를 그리는 방법에 대해 설명합니다. 이 작업은 인스턴스가 현재 가지고 있는 생명의 수를 시각적으로 표현하는 데 사용됩니다.
기본 개념
- lives: 현재 인스턴스에서 사용할 수 있는 생명 수를 나타내는 특별한 변수입니다.
- 스프라이트: 생명을 나타내기 위해 그릴 이미지입니다.
- 스택 순서: 생명을 표현하는 방법으로, 수평(왼쪽에서 오른쪽) 또는 수직(위에서 아래)으로 배치할 수 있습니다.
- 위치: 방(room) 내의 절대 위치 또는 현재 인스턴스의 위치에 대한 상대 위치일 수 있습니다.
옵션 및 매개변수
| 매개변수 | 설명 |
|---|---|
| Caption | 생명 수와 함께 그릴 문자열(비워둘 수 있음) |
| Stack Order | 그릴 순서 (Row 또는 Column) |
| x | 생명을 그릴 x축 위치 |
| y | 생명을 그릴 y축 위치 |
주의: 이 작업은 단순히 고정된 이미지를 그리며, 처음 스프라이트의 단일 이미지(0번째 프레임)만 그립니다. 추가 프레임이나 인스턴스 변수에 의해 추가된 변형(예:image_xscale또는image_blend)은 무시됩니다.
코드 예제
다음은 인스턴스 생명을 그리는 기본 코드 예제입니다:
// 생명 수와 함께 문자열을 정의
var lives_caption = "Lives: ";
// 인스턴스의 생명을 그린다
draw_instance_lives(lives_caption, dscolumn, x, y);
이 코드는 현재 인스턴스의 생명을 스프라이트로 나타내며, "Lives: "라는 텍스트를 앞에 추가합니다.
추가 활용 예시
예시 1: 게임 오버 상태 표현하기
게임이 끝났을 때 생명 수를 그리면서 게임 오버 메시지를 나타낼 수 있습니다.
if (lives <= 0) {
var game_over_caption = "Game Over! ";
draw_instance_lives(game_over_caption, drow, x, y);
}
예시 2: 동적 위치 조정
생명 수에 따라 스프라이트의 위치를 동적으로 조정하여 화면의 다른 부분에 배치할 수 있습니다.
var offset = 20; // 이미지 간격 설정
for (var i = 0; i < lives; i++) {
draw_instance_lives("", dsrow, x + i * offset, y);
}
결론
Draw Instance Lives 액션은 게임 내에서 인스턴스의 생명을 효과적으로 시각화하는 데 유용합니다. 위의 다양한 예제를 통해 필요한 경우 다양한 방식으로 활용할 수 있습니다.