如何在as3中调整resize事件期间设置舞台的宽度和高度

时间:2012-04-11 15:50:04

标签: actionscript-3 flash

我希望在swf调整大小期间设置舞台的宽度和高度。 我在调整大小事件处理时这样做但是没有用。实现这个目的还有其他方法吗?

 stage.addEventListener (Event.RESIZE, resizeListener);

 function resizeListener (e:Event):void {
  stage.stageWidth=500;
  stage.stageHeight=300;

 }

由于

3 个答案:

答案 0 :(得分:1)

通过它的声音你只需要

 stage.align     = "";
 stage.scaleMode = StageScaleMode.NO_SCALE;

无论你拉伸多少窗口,都会保持内容大小相同

答案 1 :(得分:1)

Updated:

您需要比较内容和目标的宽度和高度比例。为了使加载的图像适合该区域,缩放以使所有内容都在内部,您可以执行以下操作:

    var scale:Number = Math.min( _holder.width / _loader.content.width,
                            _holder.height / _loader.content.height );
   _loader.content.scaleX = _loader.content.scaleY = scale;

这将确保您可以看到一切。如果将Math.min更改为Math.max,则如果尺寸不匹配,则会得到不同的结果。

答案 2 :(得分:0)

 public function loaderComplete(event:Event):void
   { 
  var content:MovieClip = MovieClip(event.currentTarget.content );

  //the dimensions of the external SWF
  var _width:int = content.width;
  var _height:int = content.height;

  // you have several options here , assuming you have a container Sprite
  // you can directly set to the dimensions of your container, if any
  if( container.width < _width )
      _width = container.width // and do the same for height

  // or you could scale your content to fit , here's a simple version
  // but you can check the height too or keep checking both value
  // until it fits
  if( container.width < _width ) 
  { 
      var scale:Number = container.width / _width;
      content.scaleX = content.scaleY = scale;
  }

  }

这个答案更好地理解了swati singh给出的先前代码。请参阅此链接 How to resize an external SWF to fit into a container? 感谢所有