스택된 스프라이트 그리기 (Draw Stacked Sprites)
개요
스택된 스프라이트 그리기 기능은 방 안의 지정된 위치에 여러 개의 스프라이트를 순차적으로 그릴 수 있게 해줍니다. 사용자는 그릴 스프라이트와 스택 순서를 지정할 수 있습니다. 스택 순서는 수평(Row, 왼쪽에서 오른쪽) 또는 수직(Column, 위에서 아래) 방식으로 지정할 수 있으며, 그릴 스프라이트의 개수와 위치도 설정할 수 있습니다.
참고: 이 기능은 단순히 정적 이미지를 그리며, 주어진 스프라이트의 첫 이미지(프레임 0)만 그립니다. 추가 프레임이나 인스턴스 변수를 통해 추가된 변형은 무시됩니다.
사용법
구문
draw_stacked_sprites(sprite, stack_order, number, x, y);
인자 설명
| 인자 | 설명 |
|---|---|
sprite |
그릴 스프라이트 |
stack_order |
그릴 순서 (Row 또는 Column) |
number |
그릴 스프라이트의 개수 |
x |
x 좌표 |
y |
y 좌표 |
예제 코드
아래는 "obj_Player" 객체의 인스턴스 수를 가져와 여러 개의 마커 스프라이트를 화면에 그리는 코드입니다.
var instance_count = instance_number(obj_Player);
draw_stacked_sprites(spr_marker, Row, instance_count, 100, 100);
활용 및 응용 예제
1. 수직으로 배치된 스프라이트
draw_stacked_sprites(spr_enemy, Column, 5, 200, 150);
위 코드는 spr_enemy 스프라이트를 수직으로 5개 그리며, 위치는 (200, 150)입니다.
2. 수평으로 배치된 스프라이트
draw_stacked_sprites(spr_item, Row, 3, 50, 300);
위 코드는 spr_item 스프라이트를 수평으로 3개 그리며, 위치는 (50, 300)입니다.
3. 랜덤한 위치에 스프라이트 배치
var random_x = random(room_width);
var random_y = random(room_height);
draw_stacked_sprites(spr_power_up, Row, 4, random_x, random_y);
위 코드는 spr_power_up 스프라이트를 랜덤한 위치에 4개 그립니다.
4. 다른 스프라이트와 혼합하기
draw_stacked_sprites(spr_coin, Row, 6, 300, 100);
draw_stacked_sprites(spr_star, Column, 2, 400, 200);
이 코드는 spr_coin 스프라이트를 수평으로 6개, spr_star 스프라이트를 수직으로 2개 그립니다.
5. 인스턴스 개수에 따라 다르게 그리기
var player_count = instance_number(obj_Player);
if (player_count > 0) {
draw_stacked_sprites(spr_player_marker, Row, player_count, 320, 50);
}
위 코드는 obj_Player 객체의 인스턴스가 있을 때만 그에 맞춰 spr_player_marker 스프라이트를 그립니다.
결론
스택된 스프라이트 그리기 기능은 게임에서 다양한 시각적 효과를 내기 위해 매우 유용합니다. 여러 이미지 또는 스프라이트를 동적으로 그려 게임 플레이 중 필요한 부분을 비주얼적으로 나타낼 수 있습니다.