SWF 的精灵内部出现间隙

Gul*_*van 5 flash haxe sprite openfl adobe-animate

我正在使用 Adob​​e Animate 为我的游戏绘制资源,但是,精灵的不同部分之间会出现小间隙。如何修复它?

它在 Adob​​e Animate 中的显示方式与在游戏中的显示方式的比较:

预期的 实际的

预期的 实际的

小智 4

(澄清一下,我不是专家,只是让你知道我的想法和经验)

这是我一直在与自己斗争的一个问题;我认为问题在于 Animate/Flash 与 OpenFL 中的抗锯齿处理方式不同。在 OpenFL 中禁用抗锯齿功能将消除小间隙,但艺术看起来会很差。我相信 Flash 首先渲染图层上的所有内容,然后在继续之前使用 4x4 像素网格对该图层进行抗锯齿处理,而 OpenFL 另一方面对每个绘制的形状使用抗锯齿处理,因此您看到的间隙是您的物体颜色及其周围环境(通常是 Alpha 通道)

抗锯齿

我尝试通过针对 OpenFL 开罗目标的各种技巧来解决此问题,并取得了一些成功,但对于所有非开罗目标,该问题仍然存在。例如 HTML5。

实验性 OpenFL 分支的渲染结果图像

实验性 OpenFL 分支

当谈到消除这些伪像/间隙时,我最好的建议是将问题区域分成不同的图层,或者如果使用图层太不方便,则使用导出为位图。

顺便说一句,OpenFL 有官方论坛和 Discord 频道,您可能会在那里得到一些更好的答案/建议。