Actionscript 3 AS3闪存中的阶段大小调整

Actionscript 3 AS3闪存中的阶段大小调整,actionscript-3,flash-cs5,Actionscript 3,Flash Cs5,Heyyyy,我正试图找到一种简单的方法(或者尽可能简单,我是AS3的新手)在做鼠标悬停事件时调整舞台大小。有关详细信息,原始大小为670x40,目标大小为670x230。另外,请回答movieclip。您不能从代码中动态更改舞台大小,但可以使用JS进行更改。 请参阅。对不起,这是一篇旧帖子,但我希望这能帮助一些人,我看到了stage.width、stage.height和stage.stageWidth、stage.stageHeight之间的许多问题和困惑 您需要知道的是,必须使用stage

Heyyyy,我正试图找到一种简单的方法(或者尽可能简单,我是AS3的新手)在做鼠标悬停事件时调整舞台大小。有关详细信息,原始大小为670x40,目标大小为670x230。另外,请回答movieclip。

您不能从代码中动态更改舞台大小,但可以使用JS进行更改。
请参阅。

对不起,这是一篇旧帖子,但我希望这能帮助一些人,我看到了stage.width、stage.height和stage.stageWidth、stage.stageHeight之间的许多问题和困惑

您需要知道的是,必须使用stage.align=StageAlign.TOP\u LEFT或StageAlign.TOP和stage.scaleMode=StageScaleMode.NO\u SCALE

一切都会好起来的

这是一种在触发事件时重新调整某些内容大小的方法。调整大小。。。 在一个“com”包中创建一个Main.as类文件(复制粘贴下面的简单代码以了解它的工作原理),并在flash中将Main类设置为“com.Main”

为什么要在触发MouseeEvent时执行此操作? 好像是胡说八道

在这种情况下,Event.RESIZE更有效。 Event.ADDED将初始化要调整大小的项目

package com
{
    import flash.display.Graphics;
    import flash.display.MovieClip;
    import flash.display.Stage;
    import flash.display.StageAlign;
    import flash.display.StageQuality;
    import flash.display.StageScaleMode;
    import flash.events.Event;
    import flash.text.TextField;

    public class Main extends MovieClip
    {
        public static const ORANGE:int = 0xff9900;
        private var bg:MovieClip;
        private var bg_mask:MovieClip;
        private var marginx:int = 10;
        private var marginy:int = 10;
        private var display:MovieClip;
        private var displayTextField:TextField;
        private var ellipseWidth:int = 90;
        private var ellipseHeight:int = 90;
        public function Main()
        {
            super();            
            bg = new MovieClip();
            bg_mask = new MovieClip();
            display = new MovieClip();
            displayTextField = new TextField();
            this.addChild(bg);
            this.addChild(bg_mask);
            this.addChild(display);
            this.display.addChild(displayTextField);
            displayTextField.text = "";
            displayTextField.x = ellipseWidth/Math.PI;
            displayTextField.y = ellipseHeight/Math.PI;
            stage.align = StageAlign.TOP_LEFT;  // or StageAlign.TOP
            stage.scaleMode = StageScaleMode.NO_SCALE;
            drawBackground();
            display.mask = bg_mask;
            addListeners();
        }
        private function drawBackground(thickness:int=1,lineColor:int=0x000000,lineAlpha:Number=0.5,fillColor:int=ORANGE,fillAlpha:Number=0.5):void{
            var g:Graphics = bg.graphics;
            g.clear();
            g.lineStyle(thickness,lineColor,lineAlpha);
            g.beginFill(fillColor,fillAlpha);
            g.drawRoundRect(marginx,marginy,this.stage.stageWidth-marginx*2,this.stage.stageHeight-marginy*2,ellipseWidth,ellipseHeight);
            g.endFill();
        }
        private function drawMask():void{
            var g:Graphics = bg_mask.graphics;
            g.clear();
            g.lineStyle(1,0x000000,0.3);
            g.beginFill(0xcccccc,0.1);
            g.drawRoundRect(marginx,marginy,this.stage.stageWidth-marginx*2,this.stage.stageHeight-marginy*2,90,90);
        g.endFill();
        }
        private function addListeners():void{
            stage.addEventListener(Event.ADDED,updateLabel);
            stage.addEventListener(Event.RESIZE,updateLabel);
        }
        private function updateLabel(e:Event):void{
            updateDisplay();
            drawBackground();
            drawMask();
        }
        private function updateDisplay():void{
            var tf:TextField = displayTextField;
            tf.text = ("{" + this.stage.stageWidth + ";" + this.stage.stageHeight + "}");
        }
    }
}

您必须指定更多。。。你在用Flash播放器吗?。。。使用“舞台调整大小”时,您指的是flash窗口的大小?