【发布时间】:2014-01-31 06:33:57
【问题描述】:
所以我有一个内置在 Flash CS 5.5 中的 Air 应用程序(不使用 Starling 或 Stage3D)。在 .fla 中,舞台大小设置为 1600x900。
我发现应用程序在窗口化运行时帧速率不可接受,但如果我允许它全屏运行并指定一个 1600x900 矩形区域用于 stage.fullScreenSourceRect,应用程序运行就像黄油全屏一样。真的,区别是白天和黑夜,这让我有点困惑。
所以我想我的问题是 - 我可以做些什么来获得全屏工作在窗口模式下的流畅结果?
我的第一个想法是尝试制定一些方案,在运行时更改应用程序分辨率,以便在窗口化时以较低的分辨率运行应用程序,但我不确定 Flash 是否可能(可以' t 我认为在运行时更改 stage.stageWidth)
我应该对 NativeWindow 或类似的东西做一些诡计吗?也许是一些 Air 配置文件?我会说我对 Flash 相当了解,但我对 Air 方面的了解不多,所以也许我忽略了一些明显的东西。
感谢任何帮助或建议!
编辑:通过不可接受的帧速率,我说的是 9fps 窗口化与 35fps 全屏相比。就像你拨动一个开关,它在全屏时神奇地似乎被固定了。
【问题讨论】:
-
为什么这个问题得了负分?不好的问题?这是一个合法的 Flash 问题,我不知道答案...
-
我想出了一个解决方法。这个想法是以不同的分辨率发布您的 swf,然后在“shell app/swf”中,将适合您的分辨率的 swf 加载到它自己的 NativeWindow 实例中。然后,将 NativeWindow 实例的 bounds 属性设置为与您刚刚加载的 swf 的分辨率相匹配。看起来有点笨拙,但它做了我想要的:)
标签: actionscript-3 flash air