레이어 스프라이트 생성 함수 설명
이 문서는 layer_sprite_create 함수에 대해 설명합니다. 이 함수를 사용하면 프로젝트에서 사용할 레이어에 스프라이트 리소스를 할당할 수 있습니다.
함수 개요
layer_sprite_create 함수는 다음과 같은 매개변수를 사용하여 레이어에 스프라이트를 추가합니다:
- layer_id: 타겟 레이어의 핸들 (layer_create()로 생성하거나 layer_get_id()와 레이어 이름을 사용하여 얻을 수 있음)
- x: 방 내에서의 x 위치
- y: 방 내에서의 y 위치
- sprite: 사용할 스프라이트 인덱스 (자산 브라우저에 표시된 스프라이트 이름)
이 함수는 요소의 고유 ID 값을 반환하며, 이 ID는 이후 스프라이트에 대한 레이어 함수에서 사용될 수 있습니다.
문법
layer_sprite_create(layer_id, x, y, sprite)
매개변수 설명
| 매개변수 | 유형 | 설명 |
|---|---|---|
| layer_id | String 또는 Layer | 타겟 레이어의 핸들 |
| x | Real | 사용할 x 위치 |
| y | Real | 사용할 y 위치 |
| sprite | Sprite Asset | 사용할 스프라이트 인덱스 |
반환값
- Sprite Element ID: 생성된 스프라이트 요소의 ID
예제 코드
다음은 레이어를 생성하고 10개의 스프라이트 요소를 추가하는 예제입니다:
global.asset_layer = layer_create(10000);
for (var i = 0; i < 10; i++) {
var _x = random(room_width);
var _y = room_height - 100;
global.asset_spr_trees[i] = layer_sprite_create(global.asset_layer, _x, _y, spr_Trees);
}
위 코드는 새로운 레이어를 생성한 후, 10개의 새로운 스프라이트 요소를 추가하고 각 요소의 ID를 배열에 저장합니다.
활용 예제
- 스프라이트 애니메이션 추가
gml var sprite_id = layer_sprite_create(global.asset_layer, 100, 150, spr_Animation); - 다양한 위치에 스프라이트 배치
gml for (var i = 0; i < 5; i++) { var pos_x = random(room_width); var pos_y = random(room_height); layer_sprite_create(global.asset_layer, pos_x, pos_y, spr_Star); } - 스프라이트의 위치 업데이트
gml var sprite_id = layer_sprite_create(global.asset_layer, 200, 300, spr_MovingObject); // 이후에 위치를 변경 instance_position(sprite_id, new_x, new_y); - 스프라이트 삭제
gml layer_sprite_destroy(sprite_id);
이와 같이 layer_sprite_create 함수를 활용하여 다양한 방식으로 스프라이트를 레이어에 추가하고 관리할 수 있습니다.