스프라이트 변경에 대한 설명
이 문서에서는 GameMaker에서 인스턴스의 스프라이트를 변경하는 방법에 대해 간단히 설명하겠습니다. 이 기능은 게임의 시각적 요소를 더욱 풍부하게 만드는데 도움을 줍니다. 다음은 스프라이트를 변경하는 방법과 관련된 내용입니다.
기본 개념
- 스프라이트: 게임 객체의 그래픽을 나타내는 이미지 또는 애니메이션입니다.
- 인스턴스: 게임에서 활동중인 특정 객체의 복사본입니다.
- Asset Browser: 게임에 사용될 자산(스프라이트, 배경 등)을 관리하는 도구입니다.
스프라이트 변경하기
이 작업 블록에서는 인스턴스의 sprite_index를 Asset Browser에서 다른 스프라이트로 설정합니다. 변경할 스프라이트를 선택한 후, 보여줄 이미지(애니메이션 프레임)를 지정하면 됩니다.
스프라이트 변경 시 유의할 점: - 스프라이트가 애니메이션되지 않도록 하려면 Set Animation Speed 작업을 0으로 설정해야 합니다. - 스프라이트가 계속 애니메이션 되도록 하려면 image_index 내장 변수를 사용해야 합니다. - 스프라이트가 변경되면 인스턴스의 충돌 마스크도 변경됩니다. 별도의 마스크(mask_index)를 지정하지 않는 한, 새 스프라이트의 충돌 마스크를 사용합니다.
작업 구문
Set Sprite(sprite, frame);
인자 설명: |인자|설명| |---|---| |Sprite|사용할 새로운 스프라이트 (-1이면 스프라이트 제거)| |Frame|초기 표시할 애니메이션 프레임 (추가 프레임을 사용하지 않는 경우 0 사용)|
예제
다음 코드는 새로운 스프라이트를 설정하고 그 스프라이트가 어떻게 표시될지를 설정하는 예입니다.
Set Sprite(spr_myNewSprite, 0);
이 예제에서는 spr_myNewSprite라는 새 스프라이트를 첫 번째 프레임(0)으로 설정합니다.
활용 및 응용 예제
- 캐릭터 애니메이션 전환
- 플레이어 캐릭터가 점프할 때 점프 애니메이션으로 변경할 수 있습니다.
gml if (jumping) { Set Sprite(spr_jump, 0); } - 상호작용 시 변화
- 특정 오브젝트와 상호작용할 때 스프라이트를 변경하여 시각적 피드백 제공.
gml if (collision_with_object(obj_interactive)) { Set Sprite(spr_interacted, 0); } - 게임 오버 시 애니메이션 변경
- 게임 오버 조건에 도달했을 때 스프라이트 변경.
gml if (game_over) { Set Sprite(spr_gameOver, 0); }
이와 같은 방법으로 스프라이트를 변경함으로써 게임의 다양한 상태를 시각적으로 표현할 수 있습니다. 이를 통해 사용자 경험을 증대시킬 수 있습니다.
다음 단계
- 인스턴스 회전 설정하기: 다음에는 인스턴스의 회전을 설정하는 방법에 대한 설명이 이어집니다.
© Copyright YoYo Games Ltd. 2023 All Rights Reserved