2011-02-18 3 views
2

ブラウザウィンドウのサイズを変更したときにswfを拡大することを許可したいが、100%を超えて拡大しないようにしたい。swfを100%までスケールしたいが、何%ダウンしてもかまいません。任意のアイデアをどのように行うには?

これは、クライアントのスケーリングの種類の一例であるが望む: http://www.voosfurniture.com/

しかし、再び、それは上がり、100%で停止する必要があります。

あなたがそれを行うことができますが、あなたは(以下、変数「_container」)コンテナにコンテンツを配置する必要があり
+0

実はその種類は本当に悪いです、あなたは液体デザイン –

答えて

1

:スケーリングの

package 
{ 
    import flash.display.Sprite; 
    import flash.display.StageAlign; 
    import flash.display.StageScaleMode; 
    import flash.events.Event; 
    import flash.geom.Point; 
    import flash.geom.Rectangle; 

    public class Test extends Sprite 
    { 
     private var _initialeStageBounds : Point = new Point; 
     private var _container : Sprite = new Sprite; 

     public function Test() 
     { 
      _container.graphics.beginFill(0x556699); 
      _container.graphics.drawRect(0,0,100,100); 
      addChild(_container); 

      _initialeStageBounds.x = stage.stageWidth; 
      _initialeStageBounds.y = stage.stageHeight; 

      stage.scaleMode = StageScaleMode.NO_SCALE; 
      stage.align = StageAlign.TOP_LEFT; 
      stage.addEventListener(Event.RESIZE, onStageResize); 
     } 

     private function onStageResize(e:Event) : void 
     { 
      var ratio : Number = Math.min(1, 
              stage.stageWidth/_initialeStageBounds.x, 
              stage.stageHeight/_initialeStageBounds.y); 
      _container.x = (stage.stageWidth - _container.width)/2; 
      _container.y = (stage.stageHeight - _container.height)/2; 
      _container.scaleX = ratio; 
      _container.scaleY = ratio; 
     } 
    } 
} 
+0

まあを使用する必要があり、あなたコンテナを忘れて、表示リストのアイテムのサイズを変更したり位置を変更したりするために何かを書くことができますが、この解決法はおそらく簡単です。 ;-) – coltraneofmars

+0

あなたは正しいですが、表示リストを直接操作したり、オブジェクトを表示したりすることで、副作用を追加する可能性があります。 –

+0

クライアントは、適切にサイズを変更するのではなく、このメソッドを使用します。だから、私たちは彼の望みと一緒に行かなければならない。 :-) – vuzum

関連する問題