如果我更改了屏幕分辨率,那么我将如何计算对象的更改比例因子:
例如我的对象当前this.scaleX是0.8,this.scaleY是0.8(你知道scaleX和scaleY是Flex的属性),我当前的屏幕分辨率是1360 * 768
现在我将屏幕分辨率更改为800 * 600,
然后我将如何计算我的对象的更改的scaleX和scaleY。
我使用以下公式查找已更改/更新的比例因子:
scaleX = scaleX * (768 / 1360) * (800 / 600);
scaleY = scaleY * (768 / 1360) * (800 / 600);
但它没有给我正确的结果,
所以请帮我解决这个问题。
答案 0 :(得分:1)
要计算轴的比例,您只需要考虑屏幕上该轴的值。所以要么是X(宽度),要么是Y(高度),而不是两者。此外,我将以1的比例使用屏幕的宽度和高度作为参考值。这样可以更容易地计算新的比例。在你的情况下:
screenWidthAtFullScale = 1360 / 0.8
screenHeightAtFullScale = 768 / 0.8
scaleX = 800 / screenWidthAtFullScale => 0.47
scaleY = 600 / screenHeightAtFullScale => 0.625
请注意,这会扭曲您的对象。最好计算一个刻度并将其应用于X和Y轴以防止这种情况。