Hi,
I am working on a website right now, which involves using framescripts to invoke instance methods from the document class. These methods are supposed to trigger the new content of each page, e.g. a galleryCreate() method that creates an instance of a custom Gallery class. The other job that this method must perform is run a check to see if there are any other children that need to be removed prior to trying to bring up the new content (for example, to prevent multiple Gallery instances from being created, or a Gallery instance being created when a Newsfeed instance is still on the display list).
This was the solution I tried:
script on frame labeled "gallery":
script in document Class after the main constructor. Spaceball is an empty MovieClip declared at the beginning of the class as an easy point of reference to the root.
ActionScript Code:
public function galleryCreate () {
if ((spaceball.parent.getChildByName("gallery")) != null) {
trace("An instance of the Gallery object was found and deleted");
removeChild(spaceball.parent.getChildByName("gallery"));
}
gallery = new Gallery();
addChild(gallery);
}
When I ran the program, I clicked on the button to the gallery page, and the gallery came up alright. However, when I clicked on it a second time, I could see from the alpha of some of the elements that additional classes were being placed on top of the original ones. The trace in the if statement was never registered.
So to troubleshoot this problem, I inserted the first two traces into the beginning of the galleryCreate() method, and the last trace at the end.
ActionScript Code:
trace(spaceball.parent) //returns [Object Body], Body being the document class
trace(spaceball.parent.getChildByName("gallery")); //returns null
//after Gallery has been instantiated in the new gallery object
trace(gallery.parent); //this returned [Object Body]
Running the program again, the trace(spaceball.parent.getChildByName("gallery") would consistently return null, followed right after by a trace that recognizes the parent of the newly instantiated Gallery object to be the Document class. Doesn't that mean that it should be recognized as a child during the second iteration of galleryCreate()? Me = very confused.
Any help would be greatly appreciated. Also, if you have any observations about whether this is a good approach at all, please let me know. I am new to using Flash as a web design tool and I am still unsure how to think about designing the architecture of a web site. Thank you very much!