此函数用于启用SDF字体上的各种效果。必须已在字体编辑器中启用字体以使用SDF,或在运行时使用font_enable_sdf启用字体。
当您在运行时将字体与draw_set_font配合使用时,或在序列中的文本轨道中使用时,将显示这些效果。
enable参数接受true/false以启用/禁用效果。效果的实际属性在可选的params结构中提供。
此函数支持以下效果:
每个效果都有自己的一组属性,如下所述。这些属性在结构中提供。
单个字体可以同时应用这些效果中的任何一种。
重要 SDF 扩散值 限制了效果可以从字形边缘扩散多远。
有几个"常规"属性:
为描边提供了以下属性:
为"发光"提供了以下属性:
为投影提供了以下属性:
投影的偏移量受绘制文本的比例影响,因此当使用10的比例绘制时,10px的偏移量将变为100px。
效果的颜色将与绘制文本时设置的任何混合颜色相乘。
font_enable_effects(ind, enable, [params]);
参数 | 类型 | 描述 |
---|---|---|
ind | Font Asset | 字体的索引(必须启用SDF) |
enable | Boolean | 启用(true)或禁用(false)效果 |
params | Struct | 可选包含效果属性的结构 |
N/A
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中看到。位于本页顶部。
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
});
此示例演示您可以一次对同一字体应用多种效果: