Draw Self
개요
Draw Self는 GameMaker에서 객체의 Draw 이벤트에 액션이나 코드를 추가할 때 사용하는 기능입니다. 이 기능은 GameMaker에게 객체가 현재 할당된 스프라이트를 그리기 전, 개발자가 직접 그리기를 관리하도록 지시합니다. 기본적으로, 객체에 Draw 이벤트가 없으면 GameMaker는 객체 편집기에서 할당된 스프라이트를 자동으로 그립니다. Draw Self를 사용하면 이를 무시하고, 개발자가 직접 그려야 할 내용을 지정할 수 있습니다.
주요 기능
- 기본적으로 객체에 할당된 스프라이트는 그려지지 않으며,
- 개발자가
Draw Self를 사용하여 원하는 스프라이트를 그릴 수 있습니다. - 이전 이벤트에서 설정된 변환(스케일, 혼합, 알파 변화 등)을 반영하여 현재 서브 이미지를 그립니다.
예제
다음은 Draw Self를 사용하여 객체의 그림자 스프라이트를 그리고 그 위에 객체의 스프라이트가 겹치도록 그리는 코드 예제입니다.
// 그림자 스프라이트를 현재 인스턴스의 상대 위치에 그린다.
draw_sprite(sprite_shadow, 0, x, y);
// 인스턴스 스프라이트를 그린다.
draw_self();
위의 코드 블록은 상대 위치에 "그림자" 스프라이트를 그린 후, 그 위에 인스턴스 스프라이트를 그립니다.
활용 및 응용 예제
아래는 Draw Self를 활용한 다양한 예제입니다.
| 예제 | 설명 |
|---|---|
| 그림자 효과 | Draw Self를 사용하여 객체 아래에 그림자 스프라이트를 그릴 수 있습니다. |
| 상태 표시 | 객체의 건강 상태에 따라 스프라이트를 변경하고, Draw Self를 통해 상태 표시를 할 수 있음. |
| 애니메이션 | 객체의 스프라이트 애니메이션이 필요할 때 Draw Self로 여러 개의 프레임을 그려 애니메이션을 만들 수 있음. |
| 불투명도 조절 | Draw Self로 알파 값을 조정하여 객체의 불투명도를 변형할 수 있습니다. |
| 스프라이트 효과 | Draw Self와 함께 다양한 변환을 이용해 스프라이트에 효과를 줄 수 있습니다 (예: 회전, 크기 조절). |
결론
Draw Self는 GameMaker에서 객체의 그리기 방식을 제어하는 강력한 기능입니다. 이 기능을 활용하여 더욱 다양한 그래픽 효과와 인터랙션을 구현할 수 있습니다.