我正在编写一个 jsfl 脚本来将 Flash CS6 中的动画导出为我们想要的格式。这就是问题所在,因为我们使用补间动画进行动画处理,我们可以使用以下代码正确获取元素的位置、旋转和缩放。但是代码不能使用颜色信息:
var element = something;
for( var frameIndex = 0; frameIndex < layer.frames.length; frameIndex++ )
{
timeline.currentFrame = frameIndex;
fl.trace( element.x + ", " + element.y ); // Works
fl.trace( element.scaleX + ", " + element.scaleY ); // Works
fl.trace( element.rotation ); // Works
fl.trace( element.colorAlphaPercent ); // DOES NOT WORK
}
我们做了一个简单的动画,元素的 alpha 从 0 到 100 线性变化。当我们打印出从头到尾的所有colorAlphaPercent
值时,结果都是0。我们进行了更多测试,发现无论您制作什么动画,在任何帧上,该colorAlphaPercent
值始终等于第一帧上的值。同样的事情发生在colorAlphaAmount
其他颜色值(红色、绿色、蓝色)上。
我们可以摆脱这种情况的唯一方法是进行Convert to frame by frame animation
补间动画。但这将一个元素分解为许多元素,因此我无法判断它们最初是否是同一个元素。
那么......有没有人知道如何从补间动画中的元素获取颜色信息?不管怎么说,还是要谢谢你 :)