Проблема изменения размера окна Flash As3 - PullRequest
0 голосов
/ 12 января 2010

У меня есть Flash-скрипт, я добавил один клип с помощью addChild, моя область фильма 500x400 и мувиклип, который я выровнял по центру. Но когда я пытаюсь установить размер с помощью браузера, он не выравнивается по центру. все мои расчеты ошибочны.

package {
    import flash.display.*;
    import flash.display.Stage;
    import flash.geom.*;
    import flash.net.*;
    import flash.media.*;
    import flash.utils.Timer;
    import fl.motion.Color;
    import flash.events.*;
    import flash.text.*;
    import flash.system.LoaderContext;
    import flash.system.Security;

    public class main extends Sprite {

        public function main(){
            trace("Hello");


            var btn:_Button = new _Button();
            btn.x= (stage.stageWidth - btn.width)/2
            btn.y= (stage.stageHeight - btn.height)/2
            addChild(btn);
        }
    }
}

Вот мой код

Ответы [ 2 ]

3 голосов
/ 12 января 2010

Вам нужно добавить слушателей для событий resizeEvent и FullScreen.

public function main():void {
  stage.scaleMode = StageScaleMode.NO_SCALE;
  stage.align = StageAlign.TOP_LEFT;
  ...
  ...
  stage.addEventListener(Event.RESIZE, resizeHandler);
  stage.addEventListener(FullScreenEvent.FULL_SCREEN, resizeHandler);
  ...
}</p>

<p>private function resizeHandler(e:Event):void {
  btn.x= (stage.stageWidth - btn.width)/2
  btn.y= (stage.stageHeight - btn.height)/2
}
0 голосов
/ 12 января 2010

если центр выровнен

btn.x = stage.stageWidth / 2;
btn.y = stage.stageHeight / 2;

если верхний левый

btn.x = stage.stageWidth / 2 - btn.width / 2;
btn.y = stage.stageHeight / 2 - btn.height / 2;
...