【发布时间】:2013-01-17 14:40:13
【问题描述】:
我有几个 AS3 游戏想在 flex 移动应用程序中运行。我将我的原始游戏放入一个库中,然后将其添加到我的移动应用程序中。到目前为止一切顺利。
我遇到的问题是,当游戏开始时,它不会自行缩放到我在游戏中指定的 StageScaleMode.SHOW_ALL。
我是这样开始游戏的:
var game:MyGame = new MyGame();
var container:UIComponent = new UIComponent();
addElement(container);
container.addChild(game);
this.actionBarVisible = false;
我尝试在我的 mxml 中为舞台设置相同的比例选项,但它没有改变任何东西。
有什么想法吗?
谢谢。
【问题讨论】:
-
分享设置 StageScaleMode 的代码可能会有所帮助。它在 MyGame 的构造函数中吗?或者别的地方?你确定这段代码可以运行吗?
-
在 MyGame 中,我将其设置在 Additional_to_stage 在我调用 super(); 之后的构造函数中; addEventListener(Event.ADDED_TO_STAGE, handleAddedToStage); handleAddedToStage 调用另一个函数,该函数调用stage.scaleMode = StageScaleMode.SHOW_ALL;
-
这里有更多信息。我使用的背景图像似乎被缩放,但其他图像没有。我不知道是否有不同的阶段,也许他们并不都设置相同
-
通常一个 Flex 应用程序只有一个阶段。我不知道 Flash 是否支持多个阶段。除此之外,您正在做的事情听起来像是正确的方法。也许您需要强制重绘 UIComponent 容器以使其调整游戏大小?
-
似乎任何正在补间的对象都没有正确缩放,这恰好是几乎所有东西