我一直在尝试使用 Embed 元标记将一些 svg 文件嵌入到 AS3 项目中。例如:
[Embed(source = "assets/image.svg")]
private var Image : Class;
然而,当将这些文件显示为 Sprite 时,只有一些渐变在嵌入过程中幸存下来。
根据我的发现,简单(2 步)水平渐变似乎最有可能被保留,但有时其他类型的渐变也是如此。在一种情况下,简单地将对象旋转 90 度会导致渐变在 Flash 中显示时消失。
有谁知道创建 svg 渐变填充时要使用的一组粗略规则,以便在 Flash 中渲染时保留它们?
顺便说一句:我使用 Inkscape 来创建有问题的图像。
更新:奇怪的是,解决这个问题的方法似乎是将 svg 文件中的任何对象的不透明度设置为不正确显示渐变的值低于 1。不要问我为什么这有效,但它确实有效。然而,它确实具有对象边缘不平滑渲染的不良副作用。