我正在编写一个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
。但是,它将一个元素分解为许多元素,因此我无法判断它们原来是否是同一元素。
所以......有没有人知道如何从补间动画中的元素中获取颜色信息?无论如何,谢谢:)