在as3中保持对象大小和位置不变

时间:2014-07-10 22:22:10

标签: actionscript-3 flash

我是as3的初学者。我试图在舞台大小改变时保持对象大小和位置静止。我希望我的对象大小和位置在舞台的任何条件下都相同。舞台可以全屏,可以由用户调整大小,可以通过设备调整大小。我在屏幕上添加了一个球,当我点击球屏幕全屏时。但在全屏模式下,我的球改变了它的位置和大小。它变大了。如何将球保持在舞台的左上角。 请参阅以下屏幕截图和我的代码。 Full Screen

Normal Screen

AS3代码

    package  {

    import flash.display.MovieClip;
    import flash.display.SimpleButton;  
    import flash.events.MouseEvent;
    import flash.display.*;
    import flash.geom.Rectangle;

    public class mainajaira extends MovieClip {
        private var _ball=new ball();
        private var stagewidht:Number=stage.stageWidth;


        public function mainajaira() {
            // constructor code
            addChild(_ball);
            _ball.x=0;
            _ball.y=0;
trace(_ball.height + "." + "." + _ball.width);
trace("Stage Width:" + stagewidht);
trace("Ball x: " + _ball.x);
_ball.addEventListener(MouseEvent.CLICK, fullscreen)
        }
        private function fullscreen(e:MouseEvent):void{
            if(stage.displayState==StageDisplayState.NORMAL){
                stage.displayState=StageDisplayState.FULL_SCREEN}
                else if (stage.displayState==StageDisplayState.FULL_SCREEN){
                stage.displayState=StageDisplayState.NORMAL}
        }
    }

}

1 个答案:

答案 0 :(得分:1)

默认情况下,舞台会缩放内容(因此您的对象尺寸相同),而不是"展开"有额外的区域。您可以使用StageScaleMode进行调整。您的说明听起来像是您想要的NO_SCALE

典型地:

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