Align objects when ResizeStage problems
I'm trying to align an object on the stage "mymenu" when the browser resizes.
If I write a function to do that inside the flash document, it works properly but now I'm trying to do it from the main class that it called by the main swf.
Code:
private var stageW:uint = stage.stageWidth;
private var stageH: uint=stage.stageHeight;
///////////////////////////
public function main() {
setsizeStage();
}
///////////////////////////
private function setsizeStage():void {
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.addEventListener(Event.RESIZE, resizeStage);
stage.dispatchEvent(new Event(Event.RESIZE));
}
///////////////////////////
private function resizeStage(event:Event):void {
stageW = stage.stageWidth;
stageH = stage.stageHeight;
var menudestinyX:uint= (stageW/2)-100;
var menudestinyY:uint= 100;
trace(stageW+" "+stageH);
TweenLite.to(mymenu, 1, {x:menudestinyX,y:menudestinyY, ease:Expo.easeOut});
}
The output says me that "mymenu" property is not defined but the object is defined and added to de displaylist.
What could be the problem?:scared:
Align objects when ResizeStage problems RESOLVE
here the solution:
Code:
package {
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.display.MovieClip;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
import clases.menu.menu;
import clases.menu.submenu;
import com.greensock.*;
import com.greensock.easing.*;
import com.greensock.plugins.*;
////////////////////////////////////////////////////////////////////////////////////////////////
public class main extends MovieClip {
////////////////////////////////////////
private var stageW:uint = stage.stageWidth;
private var stageH: uint=stage.stageHeight;
private var subject:MovieClip;
////////////////////////////////////////
public function main() {
var xml:XML;
var url:URLRequest = new URLRequest("secciones.xml");
var loader:URLLoader = new URLLoader();
loader.load(url);
loader.addEventListener(Event.COMPLETE, createmenu);
setsizeStage();
}
////////////////////////////////////////////////////////////////////////////////////////////////
private function setsizeStage():void {
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.addEventListener(Event.RESIZE, resizeStage);
stage.dispatchEvent(new Event(Event.RESIZE));
////////////////////////////////////////////////////////////////////////////////////////////////
}
private function createmenu(event:Event):void {
var xmlData= new XML(event.target.data);
var mymenu:menu = new menu(xmlData);
addChild(mymenu);
mymenu.x = (stageW/2)-200;
mymenu.y = 100;
////////////////////////////////////////////////////////////////////////////////////////////////
}
private function resizeStage(event:Event):void {
this.subject=this;
stageW = stage.stageWidth;
stageH = stage.stageHeight;
var menudestinyX:uint= (stageW/2)-100;
var menudestinyY:uint= 100;
trace(stageW+" "+stageH);
TweenLite.to(subject, 1, {x:menudestinyX,y:menudestinyY, ease:Expo.easeOut});
}
}
}
I just changed the following line:
this.subject=this;:yikes:
Thanks to creacionro:cap: