1

我正在编写一个 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补间动画。但这将一个元素分解为许多元素,因此我无法判断它们最初是否是同一个元素。

那么......有没有人知道如何从补间动画中的元素获取颜色信息?不管怎么说,还是要谢谢你 :)

4

0 回答 0