폰트 정보 조회 함수 설명

font_get_info 함수는 주어진 폰트에 대한 정보를 조회하는 데 사용됩니다. 폰트 인덱스를 제공해야 하며, 이는 자산 브라우저를 통해 추가된 폰트나 런타임에 추가된 폰트가 될 수 있습니다. 이 함수는 여러 변수들이 포함된 구조체를 반환합니다.

폰트 정보 구조체

리턴되는 구조체는 다음과 같은 변수를 포함합니다:

변수 이름 데이터 타입 설명
ascender Real 폰트의 ascender 높이 (픽셀 단위)
ascenderOffset Real 기준선에서 폰트 상단까지의 최대 오프셋 (픽셀 단위)
size Real 폰트의 대략적인 크기 (픽셀 단위)
spriteIndex Sprite Asset 폰트가 스프라이트에서 생성된 경우 스프라이트 인덱스, 아니면 -1
texture Real 폰트가 스프라이트에서 생성된 경우 -1, 아니면 폰트의 텍스처 ID
name String 폰트의 이름
bold Boolean 폰트가 굵은 경우 true, 그렇지 않으면 false
italic Boolean 폰트가 이탤릭인 경우 true, 그렇지 않으면 false
glyphs Font Glyph Struct 폰트의 각 글자에 대한 정보가 포함된 구조체
sdfEnabled Boolean SDF가 이 폰트에 대해 활성화 또는 비활성화됨을 나타냄
sdfSpread Real 이 폰트에 대해 설정된 SDF 확산 값
effectsEnabled Boolean 이 폰트에 대한 효과가 활성화되었는지 여부를 나타냄
effectParams Struct 이 폰트를 위한 효과 구조체. font_enable_effects로 변경 가능

주의 사항

  • bold와 italic 변수는 사용자의 설정만 반영하므로, 기본적으로 굵거나 이탤릭인 폰트에 대해 정확하지 않을 수 있습니다.
  • 제공된 폰트가 존재하지 않으면 함수는 undefined를 반환합니다.
  • glyphs 구조체 내의 변수 값을 변경해도 폰트의 렌더링 방식은 변경되지 않으며, 이 정보는 읽기 전용으로 간주되어야 합니다.

글리프 구조체

리턴된 구조체의 glyphs 변수는 각 글자에 대한 정보를 포함하는 구조체입니다.

글리프 정보 접근하기

다음 예제 코드를 통해 글리프의 정보를 조회할 수 있습니다:

var _font_info = font_get_info(Font1);
var _info_A = _font_info.glyphs[$ "A"]; // $는 구조체 접근자
show_debug_message(_info_A);

위 코드에서는 "A" 글자에 대한 글리프 구조체를 가져와 출력 로그에 인쇄합니다. 문자열 ("A") 대신 변수를 사용하면 런타임에 그 변수를 통해 어떤 글자에 대한 정보도 얻을 수 있습니다.

글리프 구조체

다음은 글리프를 위한 구조체 변수를 설명합니다:

변수 이름 데이터 타입 설명
char Real 폰트가 스프라이트에서 생성된 경우 글리프의 이미지 인덱스, 아니면 유니코드 문자 번호
x Real 텍스처 페이지에서 글리프의 X 위치 (텍셀 단위)
y Real 텍스처 페이지에서 글리프의 Y 위치 (텍셀 단위)
w Real 텍스처 페이지에서 글리프의 너비 (텍셀 단위)
h Real 텍스처 페이지에서 글리프의 높이 (텍셀 단위)
shift Real 다음 문자로 이동할 때 오른쪽으로 이동할 픽셀 수 (음수 가능)
offset Real 이 글리프의 렌더링을 좌우로 이동하는 픽셀 수 (양수 또는 음수 가능)
kerning Array 쌍으로 된 kerning 정보를 포함하는 정수 배열

예제 코드

폰트 정보 조회 및 조건에 따른 행동

아래의 예제 코드는 특정 폰트의 정보를 조회하고, 결과에 따라 특정 행동을 수행합니다:

var _info = font_get_info(my_font);
if (_info != undefined && _info.bold) {
    image_xscale *= 2; // 이미지의 X 스케일을 두 배로
    image_yscale *= 2; // 이미지의 Y 스케일을 두 배로
}

이 코드는 my_font 변수에 저장된 폰트의 정보를 조회하고, 반환된 값이 undefined가 아니며 폰트가 굵은 경우 인스턴스의 스케일을 두 배로 만듭니다.

위의 내용과 예시를 통해 font_get_info 함수와 활용법에 대한 이해를 높이길 바랍니다!

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