SWF的精灵内出现间隙

时间:2019-05-04 15:56:46

标签: flash sprite haxe openfl adobe-animate

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

比较Adobe Animate中的显示方式和游戏中的显示方式:

expected actual

expected actual

1 个答案:

答案 0 :(得分:3)

(请注意,我不是专家,只是让您知道我的想法和经验)

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

Anti-aliasing

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

Image of render results for experimental OpenFL branch

Experimental OpenFL branch

要摆脱这些缺陷/空白,我最好的建议是将问题区域分成不同的层,或者如果使用层太不方便,则使用导出作为位图。

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