我正在用 JSFL 编写一个导出器,将 Flash 动画导出为可以在自定义播放器中重放的格式。导出器基本上遍历时间线和每个关键帧的所有元素,并写出有关元素的信息,包括它的位置、旋转、缩放等。
我在从某些元素中旋转时遇到问题,它以 NaN 的形式出现。最常见的原因是元素被翻转(修改->变换->水平翻转),尽管我认为它也可能发生在其他情况下。到目前为止,如果 someElement.rotation 为 NaN,我已经通过写出 someElement.skewX 而不是 someElement.rotation 来解决问题(有关我的一些相关代码,请参见此处,它也尝试检测是否发生翻转)。
到目前为止,这一直有效,因为在这些情况下,skewX 值与我期望的旋转值相同。但是现在我希望导出器能够处理倾斜和旋转的导出元素,所以我真的需要有适当的旋转值。如何从 Flash 中提取正确的旋转值?我可以做些什么来从矩阵中获取旋转值,或者首先阻止旋转为 NaN?