ActionScript 3:放大动画片段而不缩放其子项

时间:2014-02-05 15:36:38

标签: actionscript-3 class zoom subclass scaling

我提供了类似于本网站解释的缩放功能: http://www.flashandmath.com/howtos/zoom/

这完全适用于我的背景图像(地图,即),但我希望在放大时将地图上的符号保持相同的大小。

我可能可以通过在调用缩放函数时更改所有子项的大小来解决这个问题,但是我希望在我的子类中有一些简单的代码可以使实例的大小不可变。有吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

一种粗略的方式,因此您不必计算符号比例,将是从mapDisplayObject中删除符号,因此它们不再是子项,而是放置符号占位符。然后使用localToGlobal ...

将每个符号的x和y与每个占位符匹配

答案 1 :(得分:0)

如果您的孩子没有缩放或倾斜或旋转,您可以迭代所有孩子并将变换矩阵设置为1 / parentScale。类似的东西:

for each (var child:DisplayObject in parent) {
   var matrix:Matrix = child.transform.matrix;
   matrix.a = 1/parentScale;
   matrix.d = 1/parentScale;
   child.transform.matrix = marix;
}