Speicherproblem in Flash
Posted: Wed Apr 23, 2008 4:43 pm
Servus ...
ich habe ein Speicherproblem in Flash ... die Arbeitsspeicherauslastung wird mit jedem mal ein Panoramabild laden höher ...
ich benutze einen Container, in den ich die Panoramas lade... das ganze sieht so aus:
var PanoramaContainer:MovieClip = new MovieClip()
PanoramaContainer.name = "PanoramaContainer"
Hauptfilm.addChild(PanoramaContainer)
function PanoramaLaden(Panorama){
if (IstEinPanoramaAufDerBuehne == true){
PanoramaLoeschen() //falls ein Panorama auf der Bühne ist, wird dieses gelöscht (s.u.)
}
var loader:Loader = new Loader();
var url:String = Panopfad+Nullen(Panorama,3)+"_pano.swf";
var urlReq:URLRequest = new URLRequest(url);
var vr:MovieClip = new MovieClip()
function finished_loading (event:Event) {
}
function initHandler(event:Event):void {
IstEinPanoramaAufDerBuehne = true //Markierung, dass ein Panorama im Container ist
Hauptfilm.vr = MovieClip(loader.content);
Hauptfilm.vr.pano.setWindowSize(zielgroesse_x,zielgroesse_y);
}
loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, finished_loading);
loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
loader.x = 0
loader.y = 0
loader.load(urlReq);
var temp:MovieClip = MovieClip(Hauptfilm.getChildByName("PanoramaContainer"))
temp.addChild(loader);
}
function PanoramaLoeschen(){
Hauptfilm.vr.pano.cleanup(); //was passiert hier?
var temp:MovieClip = MovieClip(Hauptfilm.getChildByName("PanoramaContainer"))
Hauptfilm.removeChild(temp) //den Container löschen (dann müsste der Inhalt ja auch weg sein)
IstEinPanoramaAufDerBuehne = false //Markierung, dass der Container wieder leer ist
var PanoramaContainer:MovieClip = new MovieClip() //neuen Container erstellen
PanoramaContainer.name = "PanoramaContainer"
Hauptfilm.addChild(PanoramaContainer)
}
wie bekomme ich das Panorama aus dem Speicher ... ich vermute der BitmapData Fehler (ein paar Posts zurück) kommt auch daher ....
ich habe ein Speicherproblem in Flash ... die Arbeitsspeicherauslastung wird mit jedem mal ein Panoramabild laden höher ...
ich benutze einen Container, in den ich die Panoramas lade... das ganze sieht so aus:
var PanoramaContainer:MovieClip = new MovieClip()
PanoramaContainer.name = "PanoramaContainer"
Hauptfilm.addChild(PanoramaContainer)
function PanoramaLaden(Panorama){
if (IstEinPanoramaAufDerBuehne == true){
PanoramaLoeschen() //falls ein Panorama auf der Bühne ist, wird dieses gelöscht (s.u.)
}
var loader:Loader = new Loader();
var url:String = Panopfad+Nullen(Panorama,3)+"_pano.swf";
var urlReq:URLRequest = new URLRequest(url);
var vr:MovieClip = new MovieClip()
function finished_loading (event:Event) {
}
function initHandler(event:Event):void {
IstEinPanoramaAufDerBuehne = true //Markierung, dass ein Panorama im Container ist
Hauptfilm.vr = MovieClip(loader.content);
Hauptfilm.vr.pano.setWindowSize(zielgroesse_x,zielgroesse_y);
}
loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, finished_loading);
loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
loader.x = 0
loader.y = 0
loader.load(urlReq);
var temp:MovieClip = MovieClip(Hauptfilm.getChildByName("PanoramaContainer"))
temp.addChild(loader);
}
function PanoramaLoeschen(){
Hauptfilm.vr.pano.cleanup(); //was passiert hier?
var temp:MovieClip = MovieClip(Hauptfilm.getChildByName("PanoramaContainer"))
Hauptfilm.removeChild(temp) //den Container löschen (dann müsste der Inhalt ja auch weg sein)
IstEinPanoramaAufDerBuehne = false //Markierung, dass der Container wieder leer ist
var PanoramaContainer:MovieClip = new MovieClip() //neuen Container erstellen
PanoramaContainer.name = "PanoramaContainer"
Hauptfilm.addChild(PanoramaContainer)
}
wie bekomme ich das Panorama aus dem Speicher ... ich vermute der BitmapData Fehler (ein paar Posts zurück) kommt auch daher ....