【问题标题】:keep object size and position unchanged in as3在 as3 中保持对象大小和位置不变
【发布时间】:2014-07-10 22:22:10
【问题描述】:

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

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}
        }
    }

}

【问题讨论】:

    标签: actionscript-3 flash


    【解决方案1】:

    默认情况下,舞台将缩放内容(因此您的对象尺寸相同),而不是“扩展”以获得额外的区域。您可以使用StageScaleMode 进行调整。你的描述听起来像你想要的NO_SCALE

    通常:

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

    【讨论】:

    • @Andy Savage 感谢您的帮助。是否可以为单个对象设置 stage.scaleMode 和 stage.align?对象的其余部分将按舞台缩放。有可能吗?
    猜你喜欢
    • 2021-08-08
    • 2011-05-10
    • 2015-02-12
    • 2016-10-01
    • 2020-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多