I'm using AS3 Flex 4.6.0 / Air 3.1 and i cannot find the ResizeEvent
.
I added the following code:
stage.addEventListener(Event.RESIZE, onStageResize);
and want to have the function
private function onStageResize(ev:Event) : void //Here i want to use ev:ResizeEvent instead of ev:Event
{
}
I need the ev.OldWidth
and ev.OldHeight
property and i don't know why i cannot use
import flash.event.ResizeEvent;
Anyone has an idea? Thanks!
The import for Event.RESIZE
is:
import flash.events.Event
Remember, that event will only be fired if the StageScaleMode.NO_SCALE
is set.
package {
import flash.display.Sprite;
import flash.display.StageScaleMode;
import flash.events.Event
public class Main extends Sprite {
var swfWidthPrev:int;
var swfHeightPrev:int;
function resizeDisplay(event:Event):void
{
trace("~~~ resize event ~~~");
trace("swfWidthPrev: " + swfWidthPrev);
trace("swfHeightPrev: " + swfHeightPrev);
trace("swfWidthCur: " + stage.stageWidth);
trace("swfHeightCur: " + stage.stageHeight);
swfWidthPrev = stage.stageWidth;
swfHeightPrev = stage.stageHeight;
}
public function Main() {
if(stage){
stageReady();
}else{
this.addEventListener(Event.ADDED_TO_STAGE, stageReady);
}
}
private function stageReady(e:Event = null):void {
swfWidthPrev = stage.stageHeight;
swfHeightPrev = stage.stageWidth;
stage.scaleMode = StageScaleMode.NO_SCALE
stage.addEventListener(Event.RESIZE, resizeDisplay);
}
}
}