flash之检测动画片段已在 as3 的舞台上水平翻转
tintown
阅读:23
2024-10-01 17:34:08
评论:0
如果同一个影片剪辑的两个影片剪辑实例被放置在舞台上,一个在 Flash 中水平翻转。有没有一种方法可以检测到哪个在代码中被水平翻转了? ScaleX 似乎保持不变。
MovieClip 已使用 Flash UI(编辑 -> 水平翻转)水平翻转,而不是通过代码。
请您参考如下方法:
尝试:
function isFlippedHorizontally( obj:DisplayObject ):Boolean
{
return obj.transform.matrix.a / obj.scaleX == -1;
}
trace( isFlippedHorizontally( yourObject ) );
编辑:
我应该考虑对象的 scaleX
;现在调整。
或者:
import fl.motion.MatrixTransformer;
function isFlippedHorizontally( obj:DisplayObject ):Boolean
{
return MatrixTransformer.getSkewYRadians( obj.transform.matrix ) / Math.PI == 1;
}
trace( isFlippedHorizontally( yourObject ) );
编辑:
最后一个例子不小心计算了垂直翻转而不是水平翻转。
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。