当用户退出Android AIR游戏时,电影剪辑位置会发生变化

时间:2015-03-09 09:01:27

标签: android actionscript-3 position positioning stage

嘿伙计,所以我在Android AIR游戏中遇到这个奇怪的问题。

因此,游戏中的所有内容都是完美的,但我遇到的问题是,当用户退出应用程序然后返回应用程序继续播放影片剪辑时,完全将自己重新定位到右下角屏幕。他们不会扩大比例或任何东西,只是重新定位。我不明白为什么会这样?这是我目前使用的扩展Android设备的所有内容:

//Screen size for all devices
        stage.align = StageAlign.TOP_LEFT;
        stage.scaleMode = StageScaleMode.EXACT_FIT;
        stage.displayState = StageDisplayState.FULL_SCREEN;
        trace(stage.fullScreenWidth, stage.fullScreenHeight);

这段代码一直对我有用,但是说用户离开应用程序,当他们回来这个Movie Clip或当前的电影剪辑时:

        loadingScreen = new mcLoadingScreen();
        stage.addChild(loadingScreen);
        loadingScreen.x = (stage.stageWidth / 2);
        loadingScreen.y = (stage.stageHeight / 2);

将重新定位到屏幕右下方。有任何想法吗?感谢您的帮助,我很感激!

我似乎也把它缩小了。这仅在用户按下主页按钮并且屏幕方向从我设置为的横向设置为纵向时发生。因此,当我在此之后返回应用程序时,将重新定位所有电影剪辑

1 个答案:

答案 0 :(得分:0)

尝试更改这些配置(我不会说这会解决问题,只是建议一些适用于iOS设备的功能):

stage.scaleMode = StageScaleMode.NO_SCALE;
// stage.displayState = StageDisplayState.FULL_SCREEN;

在您的应用程序描述符(XML文件)

<aspectRatio>portrait</aspectRatio>
<autoOrients>false</autoOrients>
<fullScreen>true</fullScreen>

如果不起作用,可能@Aaron建议开始解决这个问题:

NativeApplication.nativeApplication.addEventListener(Event.ACTIVATE, function(event:Event):void
{
      // the application is reactivated 
});

NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE, function(event:Event):void
{
      // the application is deactivate to receive a phone call or when the user presses the Home button, etc
});

添加一些跟踪并验证更改。如果你有事件侦听器,如ENTER_FRAME,Event.RESIZE,请注意并在应用程序停用时删除这些事件侦听器。

希望能以某种方式帮助你。