mitchelvase
%Europe/Berlin %633 %2009, 16:11
Ik vroeg me af of iemand me kon helpen met removeChild
Ik heb een class preloadContent gemaakt, en die preload content
Maar wanneer ik een extern image of swf wil inladen dan verwijdert hij niet de oude content, dit probleem komt zo vaak bij me voor :(
Hij zet nu telkens alle swf over elkaar heen vandaar dat ik ze eerst wil verwijderen voor dat de nieuwe komt.
Misschien dat iemand me goed kan uitleggen hoe ik nou met die
removeChild zit
Hieronder kun je mijn class vinden:
package
{
import gs.*;
import gs.easing.*;
import flash.display.*;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.*;
import flash.net.*;
public class PreloadContent extends MovieClip
{
public var main;
public var xmlmenu;
public var imageLoader:Loader;
public var container;
public var placeholder;
public var changeSize;
public var url;
public var firstTime:Boolean = true;
public var hoog;
public var breed;
public function PreloadContent(mainClass, container, placeholder, changeSize):void
{
this.main = mainClass;
this.container = container;
this.placeholder = placeholder;
this.changeSize = changeSize;
}
public function preloadContent(contentUrl, hoog, breed):void
{
this.url = contentUrl;
// Show Preloader
this.placeholder.preloader.visible = true;
this.hoog = hoog;
this.breed = breed;
// Set properties on my Loader object
imageLoader = new Loader();
imageLoader.load(new URLRequest(url));
imageLoader.contentLoaderInfo.addEventListener(Pro gressEvent.PROGRESS, imageLoading);
imageLoader.contentLoaderInfo.addEventListener(Eve nt.COMPLETE, imageLoaded);
}
public function imageLoaded(e:Event):void {
// Hide Preloader
this.placeholder.preloader.visible = false;
this.changeSize.changeSize(this.hoog, this.breed);
// The container animation takes 1 seconde so wait until the animation is done and then load the image
TweenLite.to(this.container, 1, {onComplete:placeContent});
}
public function placeContent():void
{
// remove content
if (firstTime == false)
{
this.placeholder.imageLoadArea.removeChild(imageLo ader);
}
// Load Content
this.placeholder.imageLoadArea.addChild(imageLoade r);
trace(image);
firstTime = false;
}
public function imageLoading(e:ProgressEvent):void {
// Get current download progress
var loaded:Number = e.bytesLoaded / e.bytesTotal;
// Send progress info to "preloader" movie clip
this.placeholder.preloader.SetProgress(loaded);
}
}
}
Ik heb een class preloadContent gemaakt, en die preload content
Maar wanneer ik een extern image of swf wil inladen dan verwijdert hij niet de oude content, dit probleem komt zo vaak bij me voor :(
Hij zet nu telkens alle swf over elkaar heen vandaar dat ik ze eerst wil verwijderen voor dat de nieuwe komt.
Misschien dat iemand me goed kan uitleggen hoe ik nou met die
removeChild zit
Hieronder kun je mijn class vinden:
package
{
import gs.*;
import gs.easing.*;
import flash.display.*;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.*;
import flash.net.*;
public class PreloadContent extends MovieClip
{
public var main;
public var xmlmenu;
public var imageLoader:Loader;
public var container;
public var placeholder;
public var changeSize;
public var url;
public var firstTime:Boolean = true;
public var hoog;
public var breed;
public function PreloadContent(mainClass, container, placeholder, changeSize):void
{
this.main = mainClass;
this.container = container;
this.placeholder = placeholder;
this.changeSize = changeSize;
}
public function preloadContent(contentUrl, hoog, breed):void
{
this.url = contentUrl;
// Show Preloader
this.placeholder.preloader.visible = true;
this.hoog = hoog;
this.breed = breed;
// Set properties on my Loader object
imageLoader = new Loader();
imageLoader.load(new URLRequest(url));
imageLoader.contentLoaderInfo.addEventListener(Pro gressEvent.PROGRESS, imageLoading);
imageLoader.contentLoaderInfo.addEventListener(Eve nt.COMPLETE, imageLoaded);
}
public function imageLoaded(e:Event):void {
// Hide Preloader
this.placeholder.preloader.visible = false;
this.changeSize.changeSize(this.hoog, this.breed);
// The container animation takes 1 seconde so wait until the animation is done and then load the image
TweenLite.to(this.container, 1, {onComplete:placeContent});
}
public function placeContent():void
{
// remove content
if (firstTime == false)
{
this.placeholder.imageLoadArea.removeChild(imageLo ader);
}
// Load Content
this.placeholder.imageLoadArea.addChild(imageLoade r);
trace(image);
firstTime = false;
}
public function imageLoading(e:ProgressEvent):void {
// Get current download progress
var loaded:Number = e.bytesLoaded / e.bytesTotal;
// Send progress info to "preloader" movie clip
this.placeholder.preloader.SetProgress(loaded);
}
}
}