StageListeners – Fluid Layout (fill class as basis to position items)
Posted on 06. Apr, 2009 by thornyeternity in ActionScript 3 Snippets
Class and how to instatiate – useful for liquid layouts:
package {
import flash.display.*
import flash.events.*;
public class StageListeners extends Sprite {
private var _mc:Sprite;
private var mcStage:Stage;
public function StageListeners(_mc:Sprite){
this._mc = _mc;
mcStage = _mc.stage;
addStageListener();
}//StageListeners
public function addStageListener() {
mcStage.scaleMode = StageScaleMode.NO_SCALE;
mcStage.align = StageAlign.TOP_LEFT;
mcStage.addEventListener(Event.RESIZE, resizeHandler);
}//addStageListener
private function resizeHandler(event:Event):void {
trace(“stageWidth: “+mcStage.stageWidth);
trace(“stageHeight: “+mcStage.stageHeight);
//aligned center
_mc.x = mcStage.stageWidth/2;
_mc.y = mcStage.stageHeight/2;
//or if aligned left
_mc.x = 0;
_mc.width = mcStage.stageWidth;
var scaleAmountX:Number = _mc.scaleX;
_mc.scaleY = scaleAmountX; //keep proportional
}//resizeHandler
}//class
}//package
//////////////////////instantiate with:
var bgStageListener:StageListeners = new StageListeners(resizeBg);


