【问题标题】:Flash movie being scaled without me asking无需我询问即可缩放 Flash 电影
【发布时间】:2010-02-25 18:46:09
【问题描述】:

我一直在使用 FlashDevelop 开发基于 Web 的纯 ActionScript-3(不涉及 MXML)视频游戏,到目前为止还没有真正的惊喜。

我最近尝试将我的项目转移到 Intellij-Idea 的试用版(但功能齐全),并发现虽然 Intellij 生成的 .swf 仍然有效,但它已经以某种方式放大了,因此所有元素都是两倍规模。这完全没有我对代码进行任何更改

我知道 stage.scaleMode,但没有在我的代码中使用它。

我想强调的是,我不是在谈论通常呈现 .swf 的 HTML 包装器的任何属性,因为即使我将裸 .swf 加载到浏览器中,这种行为也很明显。

我在这里能想到的唯一变量是传递给 Adob​​e flex 编译器的参数 - 但我查看了可用的参数并没有看到任何可能的参数。

有人对这里可能发生的事情有任何想法吗?

【问题讨论】:

    标签: actionscript-3 flash intellij-idea


    【解决方案1】:

    我们能看到 HTML 包装器和一些代码示例吗?你是如何嵌入swf的? stage.scaleMode 应设置为StageScaleMode.NO_SCALE;如果已设置并且它正在缩放,那么还有其他问题。没有一些 sn-ps 就很难说。

    【讨论】:

    • 嗯,就是这样 - 根本没有使用 html 包装器就出现了问题,其 URL 为一般形式的 file:///home/stevet/workspace/myProject/my.swf - 所以HTML 包装器 not 与当前问题相关联。至于代码 sn-ps - 我现在正在工作。今晚我将尝试将问题归结为一个小代码sn-p。
    【解决方案2】:

    我不熟悉 IntelliJ,但在 Flash 方面,修改您的发布设置有帮助吗?

    【讨论】:

    • 很难说,因为我从来没有使用过 Flash ide :) 我是 ActionScript 的新手,多年来没有使用过 Intellij(我记得它非常适合 java 开发)所以它完全可能我错过了一些设置。顺便说一句 - 是 DIRECT-L 的 Mark Whybird 吗?
    • 史蒂夫·泰勒 - 这些天我几乎是个潜伏者,因为在我的记忆中我没有做过任何导演工作。
    【解决方案3】:

    解决方法是在程序开头添加以下两行:

            stage.scaleMode = StageScaleMode.NO_SCALE;
            stage.align = StageAlign.TOP_LEFT;
    

    (通过适当的 StageScaleMode 和 StageAlign 导入)

    请注意,从 FlashDevelop 运行项目时,我不需要添加这些。

    scaleMode 可以设置为以下四个值之一: NO_SCALE 无边界 显示所有 EXACT_FIT Intellij 似乎默认为 EXACT_FIT 的行为,而 FlashDevelop 默认为 NO_SCALE 的行为。

    舞台对齐可以设置为 最佳 左上方 剩下 BOTTOM_LEFT 等。 我不确定如何描述默认的 Intellij 行为 - 它看起来部分但不完全居中。 FlashDevelop 默认为 TOP_LEFT。

    如果不在代码本身中,这种隐式行为会存储在哪里?我不知道 - 也许在一些 .swf 文件头信息中。

    我当然更喜欢 FlashDevelop 默认行为。

    【讨论】:

      猜你喜欢
      • 2011-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-02
      • 2013-04-25
      • 2012-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多