object_set_mask 함수 설명
object_set_mask 함수는 특정 객체의 마스크 인덱스를 설정하는 데 사용됩니다. 마스크에 대한 자세한 내용은 객체 편집기를 참조하세요. 이 함수를 사용하면 마스크가 변경된 후 생성된 모든 객체 인스턴스는 새로운 마스크로 생성됩니다. 그러나 이미 방에 있는 인스턴스는 영향을 받지 않을 수 있습니다. 마스크 스프라이트를 제거하려면 -1로 설정하면 객체의 스프라이트에 정의된 마스크로 기본값이 설정됩니다(스프라이트가 선택되지 않은 경우 마스크가 없습니다).
주의: 이 함수는 인스턴스 함수가 아닙니다! 개별 인스턴스의 마스크 인덱스는 mask_index 변수를 사용하여 설정할 수 있으며, 이를 통해 동일한 객체에서 생성된 10개의 인스턴스가 각각 다른 마스크를 가질 수 있습니다. 이 함수를 사용하여 객체의 마스크 인덱스를 변경하더라도 현재 방에 있는 모든 인스턴스는 변경되지 않으며, 함수 호출 이후에 생성된 인스턴스만 새로운 마스크로 시작합니다.문법
object_set_mask(index, spr);
인수 설명
| 인수 | 타입 | 설명 |
|---|---|---|
| index | 객체 자산 | 변경할 객체의 인덱스 |
| spr | 스프라이트 자산 | 객체의 새로운 마스크로 사용할 스프라이트 |
반환값
- N/A
예제
if (global.level == 10) {
object_set_mask(obj_Platform, spr_mask_10);
}
위 코드는 글로벌 변수의 값을 확인하고, 그 값이 10과 같을 경우 "obj_Platform" 객체의 마스크 인덱스를 변경합니다.
활용 및 응용 예제
- 레벨에 따른 마스크 변경
- 게임의 레벨에 따라 다른 마스크를 적용할 수 있습니다. 예를 들어, 특정 레벨에서는 장애물의 모양을 변경하고 싶을 때 유용합니다.
- 특정 이벤트 발생 시 마스크 변경
- 플레이어가 특정 아이템을 획득했을 때, 적의 마스크를 변경하여 새로운 형태로 보이게 할 수 있습니다.
- 게임의 진행 상황에 따른 시각적 변화
- 게임의 진행 상황에 따라 배경이나 플랫폼의 마스크를 변경하여 플레이어에게 새로운 경험을 제공할 수 있습니다.
- 다양한 적 캐릭터 구현
- 여러 적 캐릭터를 만들고, 각 캐릭터마다 다른 마스크를 설정하여 시각적으로 구별할 수 있습니다.
- UI 요소의 동적 변경
- 게임 내 UI 요소의 마스크를 변경하여 특정 상황에 맞는 UI를 표시할 수 있습니다.
이와 같은 다양한 활용 방법을 통해 object_set_mask 함수를 효과적으로 사용할 수 있습니다.