Flex 4.6 - Air 3.2 - 为啥用偏移量绘制图形?

Posted

技术标签:

【中文标题】Flex 4.6 - Air 3.2 - 为啥用偏移量绘制图形?【英文标题】:Flex 4.6 - Air 3.2 - Why are the graphics drawn with an offset?Flex 4.6 - Air 3.2 - 为什么用偏移量绘制图形? 【发布时间】:2012-03-29 04:01:29 【问题描述】:

您可以在上图中看到游戏的显示在垂直方向上偏移了一些量。白色部分不应该在那里。事实上,蓝色的意思是与屏幕底部齐平。

这是通过对以前完美运行的项目进行三项更改来实现的:将 SDK 更改为新的 4.6 Flex 候选版本,包括支持 Stage3d 的 3.2 air player。 Air Application Descriptor 文件中的另一个更改:将 xmlns 更改为以数字 3.2 而不是 2.6 结尾。最后,在编译器选项中,我添加了:“-swf-version:13” 没有其他任何改变。事实上,如果我恢复到 4.5.1 SDK,图形会按预期显示。

我已经寻找了几个小时的解决方案,但我没有找到任何东西......

操作系统:mac IDE:Flash Builder 4.6 试用版 设备:Flash Builder 设备模拟器,也可以在真实设备上看到 应用程序设置:全屏、横向、renderMode=direct/gpu(相同)、尺寸:1024x600 舞台对齐方式:TOP_LEFT 舞台缩放:无 项目类型:移动动作脚本

正如我所说,只是更改为 4.6 的事实引入了问题,我可以随意切换它以恢复到 4.5.1,因此代码没有更改。我可以补充一点,图形中的白色部分实际上是最后一行像素(基本上是出血)一直到屏幕底部的重复。对于其他图形,该部分会发生变化 - 因此并不总是白色。

感谢任何提示

【问题讨论】:

为什么不显示任何源代码? 【参考方案1】:

我收到一条提示,将应用程序描述符文件中的全屏应用程序变量设置为“false”而不是游戏的正常“true”将解决您在桌面上开发时的问题。它有效。

【讨论】:

【参考方案2】:

在您的应用描述符中使用 gpu/direct renderMode 和 fullScreen 时会发生这种情况。我可以确认将 fullScreen 设置为 false 可以解决问题。您需要重新设置它以进行移动测试。

【讨论】:

以上是关于Flex 4.6 - Air 3.2 - 为啥用偏移量绘制图形?的主要内容,如果未能解决你的问题,请参考以下文章

从带有AIR SDK 3.9的Adobe Flex SDK 4.6迁移到带有AIR SDK 3.9的Apache Flex SDK 4.12.0

从带有 AIR SDK 3.9 的 Adob​​e Flex SDK 4.6 迁移到带有 AIR SDK 3.9 的 Apache Flex SDK 4.12.0

无法运行 Flash Builder 4.6 调试器

Flex / AIR - 它可以接收 SYSLOG 通知吗?

Flex 4.6 SkinnablePopupContainer 不断出错

Flex / Air混淆[关闭]