我正在开发一个Flash游戏,它在大多数浏览器和机器上呈现得很好。然而,当我在平板电脑上运行Firefox游戏时,SWF似乎被放大了。我可以右键点击游戏和点击“显示所有”,它将返回正常的事情。
然而,我的问题是如何阻止Firefox (和/或我的计算机)这样做呢?理想的解决方案是在代码中为我的用户自动解决问题,因为我觉得这个问题可能会出现其他我还没有遇到的浏览器/机器组合。
我的程序做的第一件事就是把它叫做:
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;有没有办法告诉闪存播放器,它应该从哪个缩放级别开始?或者,也许有一种方法可以检测到当前的缩放级别,这样我们就可以优雅地响应它了?
另一种选择是检测浏览器的缩放级别,但是that doesn't seem very feasible,即使是这样,火狐的缩放也会被设置为100%缩放,所以这并不是很有用。
发布于 2014-03-01 21:27:59
显然,当Flash的缩放被改变时,它也会改变stage.stageWidth和stage.stageHeight。因此,您可以通过将这些值与您想要的值进行比较来检测正在发生的缩放。
因此,快速修复方法是在您自己的文档类中执行反缩放操作:
scaleX = scaleY = stage.stageWidth / STAGE_WIDTH;其中STAGE_WIDTH是一个常量,用于存储您预期的舞台宽度。我看不到这种方法的真正副作用,但您必须确保所有代码都引用STAGE_WIDTH而不是stage.stageWidth。
一个值得注意的结果是,位图图像看起来更像像素,但即使在点击Show All时也会出现像素化。
https://stackoverflow.com/questions/22104977
复制相似问题