font_enable_effects

此函数用于启用SDF字体上的各种效果。必须已在字体编辑器中启用字体以使用SDF,或在运行时使用font_enable_sdf启用字体。

当您在运行时将字体与draw_set_font配合使用时,或在序列中的文本轨道中使用时,将显示这些效果。

enable参数接受true/false以启用/禁用效果。效果的实际属性在可选的params结构中提供。

效果 Effects

此函数支持以下效果:

图1

每个效果都有自己的一组属性,如下所述。这些属性在结构中提供。

单个字体可以同时应用这些效果中的任何一种。

重要 SDF 扩散值 限制了效果可以从字形边缘扩散多远。

常规常规

有几个"常规"属性:

轮廓轮廓

为描边提供了以下属性:

发光发光

为"发光"提供了以下属性:

投影投影

为投影提供了以下属性:

投影的偏移量受绘制文本的比例影响,因此当使用10的比例绘制时,10px的偏移量将变为100px。

效果的颜色将与绘制文本时设置的任何混合颜色相乘。

 

语法:

font_enable_effects(ind, enable, [params]);

参数类型描述
indFont Asset字体的索引(必须启用SDF)
enableBoolean启用(true)或禁用(false)效果
paramsStruct可选包含效果属性的结构

 

返回:

N/A

 

示例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
});

这将修改两个可能已启用SDF的字体资源。

第一种字体fnt_outline启用了轮廓,并设置了一些属性,第二种字体fnt_glow获得了一些发光属性。

您可以通过在绘制事件中执行以下操作来使用这些字体绘制文本:

绘制事件

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.");

这将切换到轮廓字体以绘制具有轮廓的文本,然后切换到发光字体以绘制发光文本。

这种字体的结果可以在图1中看到。位于本页顶部。

 

示例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
});

此示例演示您可以一次对同一字体应用多种效果:

Fig. 2