Copy link to clipboard
Copied
I am not a developer so pardon the dumb question.
I have 2 scenes. (really many more than 2, but for this question we will say 2 scenes).
Scene 1 links to Scene 2.
In my scene 2 I have a scrollpane with two buttons. Each button links to a frame in the timeline. That's working great after I found some answers on this board. Here is the scrollpane code:
import fl.containers.ScrollPane;
import fl.controls.ScrollPolicy;
import fl.controls.DataGrid;
import fl.data.DataProvider;
var aSp:ScrollPane = new ScrollPane();
var aBox:MovieClip = new MovieClip();
aSp.source = member_snapshot_tiles;
aSp.setSize(1340, 170);
aSp.move(570, 110);
addChild(aSp);
Now I need to have a button that goes back to Scene 1. The button works but the scrollpane from Scene 2 appears in Scene 1.
I found this snippet on the board:
btnHeim.addEventListener(MouseEvent.CLICK,heimClick);
function heimClick(e:MouseEvent):void {
loader.unload();
gotoAndStop(1,"Mainpage");
}
and modified it:
button_54.addEventListener(MouseEvent.CLICK,heimClick);
function heimClick(e:MouseEvent):void {
member_snapshot_tiles.removeChild(ScrollPane);
MovieClip(this.root).gotoAndPlay(1, "vistaroster");
}
Unfortunately I am not a developer so I can't seem to find the right combo of labels to make this work. How can I add a button that removes the scrollpane and returns the user to Scene 1?
Copy link to clipboard
Copied
Update...I seem to have stumbled on to the right combination. LOL, I'm such a hack noob. Everyone take the time to ridicule me. It's good for my ego.
button_54.addEventListener(MouseEvent.CLICK,heimClick);
function heimClick(e:MouseEvent):void {
if ( null != aSp.stage )
{
removeChild( aSp );
}
Copy link to clipboard
Copied
What you wrote about aSp.stage is similar to my test for its parent, and you figured out the main issue. Setting it to null is still worth doing.
Copy link to clipboard
Copied
You have referred to the ScrollPane as aSp, but you are doing a removeChild(ScrollPane). If you are sure of what aSp's parent is (like it looks as if it is member_snapshot_tiles) you can do the remove that way. If there is a chance you're at a different point in the hierarchy you could test to see if aSp has a parent, then remove it, or you could addChild(aSp), then remove it. In both cases setting the variable to null would be worth it, to free up memory.
So, either of these might work:
if(aSp.parent){
aSp.parent.removeChild(aSp);
aSp = null;
}
or:
addChild(aSp);
removeChild(aSp);
aSp = null;
Copy link to clipboard
Copied
Thank you for the feedback. I am 100% your solution is more elegant. I will take a look at replacing my hack code with yours when I am finished creating my other screens.