스프라이트와 타일

게임을 만들 때, 방 편집기에서 배경을 설정하고 인스턴스에 스프라이트를 할당할 수 있지만, 이러한 방법만으로는 유연성이 부족할 수 있습니다. 예를 들어, 메뉴를 그려야 하는 인스턴스가 있을 경우 여러 버튼 스프라이트를 동시에 표시하고 싶을 수 있습니다. 또는 스크롤링 패럴랙스 배경이 있는 게임에서는 코드로 이를 설정할 수 있어야 합니다. 이러한 상황에서는 다음과 같은 함수들을 사용하여 방의 어디에서든 스프라이트와 배경 자산을 그릴 수 있습니다. 이 함수들은 스프라이트의 형태, 크기, 색상 및 알파를 조작하여 특별한 효과를 얻을 수 있도록 합니다.

스프라이트를 인스턴스에 할당하면 기본적으로 GameMaker는 다양한 스프라이트 변수에 의해 주어진 속성으로 그립니다. 그러나 드로우 이벤트에 어떤 내용을 추가하면 "제어권을 가져가는" 것이므로 GameMaker에게 정확히 무엇을 그리고 방의 어디에 그릴지를 알려줘야 합니다. 이를 위해 다음의 함수를 사용해야 합니다:

함수 이름 설명
draw_self 인스턴스 자신을 그립니다.
draw_sprite 스프라이트를 그립니다.
draw_sprite_ext 스프라이트를 확장하여 그립니다.
draw_sprite_general 일반 스프라이트를 그립니다.
draw_sprite_part 스프라이트의 일부를 그립니다.
draw_sprite_part_ext 스프라이트의 일부를 확장하여 그립니다.
draw_sprite_stretched 늘린 스프라이트를 그립니다.
draw_sprite_stretched_ext 확장된 늘린 스프라이트를 그립니다.
draw_sprite_pos 위치에 스프라이트를 그립니다.
draw_sprite_tiled 타일 형태로 스프라이트를 그립니다.
draw_sprite_tiled_ext 확장된 타일 형태로 스프라이트를 그립니다.

SWF 또는 SVG 형식의 스프라이트를 사용하는 경우, 그릴 때 사용되는 안티 앨리어싱을 제어할 수 있는 추가 옵션도 있습니다. 이러한 스프라이트에 대한 자세한 내용은 "비트맵이 아닌 스프라이트 가져오기"를 참조하세요. 이 함수들은 전역 수준에서 작동하며, 호출된 후에 그려지는 모든 벡터 SWF 또는 SVG 스프라이트에 대한 AA를 설정합니다.

함수 이름 설명
draw_enable_swf_aa SWF 안티 앨리어싱을 활성화합니다.
draw_set_swf_aa_level SWF 안티 앨리어싱 수준을 설정합니다.
draw_get_swf_aa_level 현재 SWF 안티 앨리어싱 수준을 가져옵니다.
draw_enable_svg_aa SVG 안티 앨리어싱을 활성화합니다.
draw_set_svg_aa_level SVG 안티 앨리어싱 수준을 설정합니다.
draw_get_svg_aa_level 현재 SVG 안티 앨리어싱 수준을 가져옵니다.

위에 나열된 함수 외에도, 스켈레탈 애니메이션과 함께 사용하기 위해 설계된 두 개의 특별한 함수가 있습니다. 이러한 스프라이트에 대한 자세한 내용은 "비트맵이 아닌 스프라이트 가져오기"와 "스켈레탈 애니메이션" 섹션을 참조하세요.

함수 이름 설명
draw_skeleton 스켈레톤을 그립니다.
draw_skeleton_instance 스켈레톤 인스턴스를 그립니다.
draw_skeleton_collision 스켈레톤 충돌을 그립니다.
draw_skeleton_time 스켈레톤 시간에 따라 그립니다.

타일은 포함된 데이터, 사용된 타일 세트 및 타일 맵 속성에 따라 자동으로 그려집니다. 그러나 다음의 함수를 사용하여 개별 타일이나 타일 맵을 그릴 수 있습니다:

함수 이름 설명
draw_tile 타일을 그립니다.
draw_tilemap 타일 맵을 그립니다.

활용 예제

스프라이트와 타일을 활용하는 다양한 예제를 살펴보겠습니다.

스프라이트 그리기 예제

// 스프라이트를 기본 위치에 그리기
draw_sprite(sprite_index, 0, x, y);
// 스프라이트를 확대하여 그리기
draw_sprite_ext(sprite_index, 0, x, y, 2, 2, 0, c_white, 1);

타일 그리기 예제

// 특정 타일을 그리기
draw_tile(tile_index, x, y);
// 타일 맵을 그리기
draw_tilemap(tilemap_index);

스켈레탈 애니메이션 예제

// 스켈레톤을 그리기
draw_skeleton(skeleton_index, x, y);
// 스켈레톤 인스턴스를 그리기
draw_skeleton_instance(skeleton_instance);

이와 같은 방법으로 스프라이트와 타일을 활용하여 게임의 다양한 요소를 효과적으로 표현할 수 있습니다.

Read more

기술 문서 해설 및 활용 예제

이 문서는 특정 기술에 대한 설명과 활용 방법을 다룹니다. 아래에서 내용을 쉽게 이해할 수 있도록 해설하고, 다양한 활용 및 응용 예제를 추가로 제공합니다. 기술 개요 이 기술은 게임 개발에서 자주 사용되는 기능으로, 특정 작업을 자동화하거나 효율적으로 처리하는 데 도움을 줍니다. 주로 게임의 로직을 구성하거나 사용자 인터페이스를 제어하는 데 사용됩니다. 주요

By 이재협/실장/시스템개발실/PHYSIA

키워드 설명서

이 문서는 특정 키워드에 대한 설명과 사용법을 제공합니다. 문법 (arguments); 인수 인수 이름 유형 설명 argument_name 인수에 대한 설명을 여기에 작성합니다. 반환값 (선택적 설명) 예제 code_example() { // 여기에 코드 예제를 설명합니다. } 코드 예제 설명 위의 코드 예제는 특정 기능을 수행하는 함수의 기본 구조를 보여줍니다. 이 함수는 인수를 받아들이고, 특정

By 이재협/실장/시스템개발실/PHYSIA

GameMaker 환경 설정 및 기능

이 문서에서는 GameMaker의 환경 설정 및 다양한 IDE 기능에 대한 정보를 제공합니다. 다음은 주요 항목들입니다: IDE 환경 설정 IDE(통합 개발 환경) 설정은 GameMaker의 전반적인 사용 경험을 조정하는 데 도움을 줍니다. 여기서 사용자는 개인의 필요에 맞게 다양한 옵션을 설정할 수 있습니다. 주요 설정 항목 설정 항목 설명 테마 IDE의 색상

By 이재협/실장/시스템개발실/PHYSIA

GameMaker IDE 설명서

GameMaker IDE는 게임을 만들고 소프트웨어에서 제공하는 모든 기능을 활용하는 주요 인터페이스입니다. 이 프로그램은 시작 화면부터 게임을 만들기 위해 사용하는 모든 편집기 창까지 포함되며, 매뉴얼과 다양한 튜토리얼에서 IDE라고 언급됩니다. IDE의 구성 요소 다음 섹션에서는 IDE에 대한 정보를 다룹니다: 1. 설정 및 기능 IDE의 설정 및 기능은 사용자가 게임 개발을 보다 효율적으로

By 이재협/실장/시스템개발실/PHYSIA