SWF 精灵内部出现间隙

Gaps appear inside the sprites from SWF

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

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

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

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

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

Experimental OpenFL branch

关于摆脱这些问题,我最好的建议是 artifacts/gaps 要么将问题区域分成不同的层,要么在使用层太不方便时使用导出为位图。

顺便说一句,OpenFL 有一个官方论坛和 Discord 频道,您可能会在那里得到更好的answers/suggestions。