폰트 추가 (font_add_sprite_ext) 함수 설명


이 문서는 GameMaker에서 `font_add_sprite_ext` 함수를 사용하여 스프라이트를 기반으로 새로운 폰트를 만드는 방법에 대해 설명합니다. 각 하위 이미지는 개별 기호 또는 문자를 나타냅니다.

## 함수 개요

`font_add_sprite_ext` 함수는 스프라이트 애셋을 사용하여 새로운 폰트 애셋을 생성하는 데 도움을 줍니다. 일반적인 `font_add_sprite()` 함수와 달리, 이 함수는 "string_map" 인자를 사용하여 스프라이트의 하위 이미지 순서를 정의합니다. 

### 주요 인자 설명

|인자|유형|설명|
|---|---|---|
|`spr`|스프라이트 자산|폰트를 기반으로 할 스프라이트입니다.|
|`string_map`|문자열|스프라이트 하위 이미지 순서를 결정하는 문자열입니다.|
|`prop`|불린|비례 폰트 여부를 설정합니다. (true: 비례, false: 비비례)|
|`sep`|실수|각 문자 간의 간격을 설정합니다.|

### 반환값
- 이 함수는 폰트 자산의 핸들을 반환하며, 해당 핸들은 이후 코드에서 필요합니다.
- 만약 함수가 실패하면 -1을 반환합니다.

### 사용 예시

다음은 `font_add_sprite_ext` 함수를 사용해서 새로운 폰트를 만드는 예제입니다:

```gml
global.Font = font_add_sprite_ext(spr_CalcFont, "0123456789+-*/=", true, 2);

위 코드는 spr_CalcFont라는 스프라이트로부터 새로운 폰트 애셋을 생성하고, 그 인덱스를 global.Font 변수에 저장합니다. 스프라이트 폰트의 하위 이미지는 지정된 문자열에 따라 매핑됩니다.

추가 사항

  • 폰트 정렬 기능을 사용하려면 (예: draw_set_halign()) 스프라이트의 원점이 좌상단으로 설정되어 있어야 합니다.
  • GameMaker에서 폰트를 로드한 후, 더 이상 필요하지 않을 경우에는 font_delete()를 사용하여 메모리 누수를 방지해야 합니다.

활용 및 응용 예제

1. 비례 폰트 만들기

비례 폰트를 사용하면 각 문자의 실제 너비에 따라 공간을 배치할 수 있습니다.

global.ProportionalFont = font_add_sprite_ext(spr_Proportional, "AaBbCcDdEeFf", true, 1);

2. 고정 너비 폰트 사용하기

모노스페이스 폰트를 사용하여 각 문자를 동일한 너비로 표시합니다.

global.MonoFont = font_add_sprite_ext(spr_MonoFont, "ABCDEFG", false, 0);

3. 문자 간격 조절하기

문자 간격을 확대하여 가독성을 높일 수 있습니다.

global.SpreadFont = font_add_sprite_ext(spr_SpreadFont, "XYZ", true, 5);

결론

font_add_sprite_ext 함수는 스프라이트를 기반으로 폰트를 만들고, 그 폰트를 다양한 방식으로 적용할 수 있는 유용한 방법입니다. 이 함수를 통해 게임 내에서 사용자 정의 폰트를 쉽게 활용할 수 있습니다. ```

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