Copy link to clipboard
Copied
This should be simple, but for some reason I find myself struggling with this. I need to check to see if a movieclip is instantiated. If so I need it removed on MouseEvent.CLICK to load another mc. Here is what I'm using thus far:
import flash.display.*
btnMenuOpt.addEventListener (MouseEvent.CLICK, loadMenuOpt);
function loadMenuOpt(event:MouseEvent):void{
var mcmenuopt:mcMenuOpt = new mcMenuOpt();
addChild(mcmenuopt);
mcmenuopt.x=241.75;
mcmenuopt.y=101.4;
}
btnWolfPack.addEventListener (MouseEvent.CLICK, loadWolfPack);
function loadWolfPack(event:MouseEvent):void{
var mcwolfpack:mcWolfPack = new mcWolfPack();
if (Boolean (this.getChildByName('mcMenuOpt'))) {
removeChild(mcMenuOpt);}
if (!Boolean(this.getChildByName('mcMenuOpt'))) {
addChild(mcwolfpack);
mcwolfpack.x=85.25;
mcwolfpack.y=364.3;
}
}
Whereas if mcMenuOpt is instantiated and btnWolfPack is clicked, mcMenuOpt goes bye-bye and mcWolfPack is instantiated. Any ideas? Thanks!
Oh yeah, it's also throwing this error at me:
Scene 1, Layer 'actions', Frame 1, Line 15 | 1067: Implicit coercion of a value of type Class to an unrelated type flash.display:DisplayObject. |
If you want to access the object in other functions then you need to declare it outside. Try...
import flash.display.*
var mcmenuopt:mcMenuOpt;
var mcwolfpack:mcWolfPack;
btnMenuOpt.addEventListener (MouseEvent.CLICK, loadMenuOpt);
function loadMenuOpt(event:MouseEvent):void{
mcmenuopt = new mcMenuOpt();
addChild(mcmenuopt);
mcmenuopt.x=241.75;
mcmenuopt.y=101.4;
}
btnWolfPack.addEventListener (MouseEvent.CLICK, loadWolfPack);
function loadWolfPack(event:MouseEve
Copy link to clipboard
Copied
If you want to access the object in other functions then you need to declare it outside. Try...
import flash.display.*
var mcmenuopt:mcMenuOpt;
var mcwolfpack:mcWolfPack;
btnMenuOpt.addEventListener (MouseEvent.CLICK, loadMenuOpt);
function loadMenuOpt(event:MouseEvent):void{
mcmenuopt = new mcMenuOpt();
addChild(mcmenuopt);
mcmenuopt.x=241.75;
mcmenuopt.y=101.4;
}
btnWolfPack.addEventListener (MouseEvent.CLICK, loadWolfPack);
function loadWolfPack(event:MouseEvent):void{
mcwolfpack = new mcWolfPack();
if (mcmenuopt) {
removeChild(mcmenuopt);
mcmenuopt = null;
}
addChild(mcwolfpack);
mcwolfpack.x=85.25;
mcwolfpack.y=364.3;
}
The error you get is because you are specifying the class name in the removeChild() call, not the instance. When you create an object dynamically, if you don't assign it a name property, it does not have the variable name as its name, so the other check you did using getChildByName would fail as well.
Copy link to clipboard
Copied
Awesome, once again! Thanks Ned!
Copy link to clipboard
Copied
You're welcome