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