2013-10-28 114 views
-1

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

+0

你的Flash播放器?......有阶段调整你的意思闪光灯窗口的大小? – Pier

回答

1

您不能从代码动态更改舞台大小,但可以使用JS对其进行更改。 见here

+0

是和不是:) – tatactic

0

对不起,这是一个老帖子,但我希望这能帮助别人,我看到了很多的stage.width,stage.height和stage.stageWidth,stage.stageHeight之间的问题和困惑......

所有你必须知道的是,你必须使用stage.align = StageAlign.TOP_LEFT或StageAlign.TOP和stage.scaleMode = StageScaleMode.NO_SCALE;

都应该工作正常,然后...

这是一种方式重新大小一些内容的Event.Resize被触发时... 在“COM”包创建一个Main.as类文件(复制粘贴下面的简单代码以找出它是如何工作的),并将Flash中的主类设置为“com.Main”。

为什么当MouseEvent被触发时你想这么做? 看起来像废话...

在这种情况下,Event.RESIZE是更有效的AMHO。 对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 + "}"); 
     } 
    } 
}