【发布时间】:2009-07-16 16:26:41
【问题描述】:
我有 Flash,我在其中动态加载一些图像。
但是当我在大屏幕监视器上查看这个闪光灯时,闪光灯是自动缩放的(我无法禁用舞台自动缩放)。同样,图像的大小也在增加。问题出现了,在大屏幕显示器上,图像变得模糊。
我怎样才能使它在所有尺寸的显示器上都很好。
我想要的只是有选择地禁用图像缩放。
【问题讨论】:
标签: flash actionscript-3 image scaling
我有 Flash,我在其中动态加载一些图像。
但是当我在大屏幕监视器上查看这个闪光灯时,闪光灯是自动缩放的(我无法禁用舞台自动缩放)。同样,图像的大小也在增加。问题出现了,在大屏幕显示器上,图像变得模糊。
我怎样才能使它在所有尺寸的显示器上都很好。
我想要的只是有选择地禁用图像缩放。
【问题讨论】:
标签: flash actionscript-3 image scaling
没有内置的可能性...但是此代码将取消缩放任意DisplayObject ...
var m:Matrix = target.transform.concatenatedMatrix;
m.invert();
target.transform.matrix = m;
从这里开始,有很多方法可以完成,你想要什么......
最简单的方法是,禁用舞台缩放,监听调整大小,然后调整最上面的DisplayObjects 的大小,以适应舞台......优点是,将触发调整大小事件......所以对于@987654324 @s 如果您想保持未缩放,则将侦听器添加到 resize 事件并在 resize 时取消缩放它们...
否则,将DisplayObject 放在舞台上,然后在enterframe 上观察concatenatedMatrix ...如果a 和d(缩放参数)发生变化,那么您将调整大小...然后取消缩放您想要的所有对象未缩放...这是一个额外的事件处理程序调用和 enterframe 上的 2 个浮点比较,因此它不应该成为性能杀手...
希望对您有所帮助...
问候
back2dos
【讨论】: