글꼴 효과 활성화 함수 (font_enable_effects)
이 문서에서는 SDF 글꼴에 다양한 효과를 활성화하는 함수인 `font_enable_effects`에 대해 설명합니다. SDF를 사용할 수 있도록 글꼴을 활성화해야 하며, 이는 Font Editor에서 설정하거나 런타임에서 `font_enable_sdf`를 사용하여 수행할 수 있습니다. 이 효과는 런타임에서 `draw_set_font`를 사용하거나 시퀀스의 텍스트 트랙에서 글꼴을 사용할 때 나타납니다.
## 함수 구조
```gml
font_enable_effects(ind, enable, [params]);
- 인자 설명 |인자|타입|설명| |---|---|---| |ind|Font Asset|글꼴의 인덱스 (SDF가 활성화된 상태여야 함)| |enable|Boolean|효과를 활성화(
true
) 또는 비활성화(false
)| |params|Struct|효과 속성을 포함하는 구조체|
지원되는 효과
이 함수는 다음과 같은 효과를 지원합니다:
- 윤곽선 (Outline)
- 발광 (Glow)
- 드롭 섀도우 (Drop Shadow)
각 효과는 고유의 속성을 가지고 있으며, 다양한 효과를 동시에 동일한 글꼴에 적용할 수 있습니다.
일반 속성
- thickness: 글꼴의 두께를 추가하거나 제거합니다. 범위: -32에서 32까지
- coreColour: 글꼴의 핵심 부분 색상 (윤곽선, 발광 등 제외)
- coreAlpha: 글꼴의 핵심 부분 알파
효과 속성
윤곽선 (Outline)
속성 | 설명 |
---|---|
outlineEnable | 윤곽선 효과 활성화 또는 비활성화 (기본값: 비활성화) |
outlineDistance | 각 글리프의 가장자리를 기준으로 윤곽선의 두께 (0에서 64까지) |
outlineColour | 윤곽선 색상 |
outlineAlpha | 윤곽선 알파 |
발광 (Glow)
속성 | 설명 |
---|---|
glowEnable | 발광 효과 활성화 또는 비활성화 (기본값: 비활성화) |
glowStart | 글리프 가장자리에서 발광이 시작되는 거리 (0에서 64까지) |
glowEnd | 글리프 가장자리에서 발광이 완전히 사라지는 거리 (0에서 64까지) |
glowColour | 발광 색상 |
glowAlpha | 발광 알파 |
드롭 섀도우 (Drop Shadow)
속성 | 설명 |
---|---|
dropShadowEnable | 드롭 섀도우 효과 활성화 또는 비활성화 (기본값: 비활성화) |
dropShadowSoftness | 그림자의 부드러움 또는 흐림 정도 (0에서 64까지) |
dropShadowOffsetX | X축에 따른 그림자 이동량 (0은 글자와 동일) |
dropShadowOffsetY | Y축에 따른 그림자 이동량 (0은 글자와 동일) |
dropShadowColour | 그림자 색상 |
dropShadowAlpha | 그림자 알파 |
예제 코드
예제 1: 단일 효과 적용
// Create Event
font_enable_effects(fnt_outline, true, {outlineEnable: true, outlineDistance: 2, outlineColour: c_black});
font_enable_effects(fnt_glow, true, {glowEnable: true, glowEnd: 16, glowColour: c_red});
// Draw Event
draw_set_font(fnt_outline);
draw_text(x, y, "This font has an outline.");
draw_set_font(fnt_glow);
draw_text(x, y + 60, "This font has a glow.");
이 예제는 두 개의 글꼴 자산을 수정합니다. fnt_outline
은 윤곽선을 활성화하고, fnt_glow
는 발광 속성을 적용합니다.
예제 2: 여러 효과 동시 적용
font_enable_effects(fnt_heading, true, {
dropShadowEnable: true,
dropShadowSoftness: 20,
dropShadowOffsetX: 4,
dropShadowOffsetY: 4,
dropShadowAlpha: 1,
outlineEnable: true,
outlineDistance: 2,
outlineColour: c_black,
glowEnable: true,
glowEnd: 6,
glowColour: c_red,
glowAlpha: 4
});
이 예제는 하나의 글꼴에 여러 효과를 동시에 적용하는 방법을 보여줍니다.
결론
font_enable_effects
함수는 SDF 글꼴에 다양한 효과를 적용하여 시각적으로 더 매력적인 텍스트를 만드는 데 유용합니다. 위의 예제를 바탕으로 여러분의 프로젝트에 적절히 응용하여 사용하시기 바랍니다. ```