| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Mar 2002
Beiträge: 71
|
Hallo Zusammen, ich dacht der Code wäre fast fertig. Jetzt habe ich aus den zusammen gesuchten Threads über das Thema removeChild heraus gelesen, daß ich wohl mit dem Rücken zur Wand stehe. Ich lade externe SWFs ein, aber werde sie nicht mehr los. Kann mir einer einen Gedankenanstoß geben wo ich falsch abgebogen bin? PHP-Code: Geändert von skaddii (14-07-2010 um 14:32 Uhr) |
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: May 2010
Beiträge: 87
|
es gibt zwar die Methode Loader.unload() aber ich bin mir nicht ganz sicher ob es das ist was du meinst. Die Frage ist was macht dein "VR/pano1-a.swf"? Je nach dem wie das aufgebaut ist kann es natürlich sein das nicht alles weg ist wenn du den loader mit removeChild entfernst. Mal am Rande bemerkt: du fügst bei jedem mouse-klick einen neuen initHandler zur contentLoaderInfo hinzu, ist das denn beabsichtigt? Ausserdem finde ich die Methode mit dem ENTER_FRAME zur Initialisierung deines Panoramas auch sehr merkwürdig. |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Mar 2002
Beiträge: 71
|
Hallo NilsK, wopala, den initHandler entferne ich eigentlich mit dem zweiten Button. Hatte den Code ein bischen aufgeärumt bevor ich ihn hier gepostet habe, da ist die Zeile mit weg gekommen.. Ich geb dir völlig recht die ENTER_FRAME function ist recht grausam hier, leider sträubt sich das SWF (ein 360° panorama). Ich kann zb mit dem setPan command den Pan der Sicht im Panorama steuern, allerdings erst wenn es initialisiert ist. Die geschiet aber nicht im ersten Frame der geladenen SWF, somit muss ich warten bis vr.pano!=null ist. Was deine zweite Frage ist, ja im geladenen SWf gibt es auch noch "pano" was ich an "vr" anhänge. Zumindest verstehe ich das so, rein schauen kann ich in die geladene SWf leider nicht. Geändert von skaddii (15-07-2010 um 10:52 Uhr) |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: May 2010
Beiträge: 87
|
Hi skaddii, Vielleicht solltest du es mal mit einem eigenen SWF versuchen und schauen ob dein Code damit funktioniert. Wenn ja, dann wäre es evtl. möglich das das Panorama irgendetwas oberhalb seines Root-Objektes plaziert (z.B. auf der Stage oder so..) Liese sich dass herausfinden? (Debugger oder so) |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Mar 2002
Beiträge: 71
|
Oh entschuldige, ich habe wohl ein bischen am Thema vorbei geredet. Der Code funktioniert soweit. Ich lade die SWF und gebe ihr Parameter mit auf den Weg (pos,size,pan,etc...). Dann schmeiss ich das Child wieder raus und weg ist die SWF vom Bildschirm. Da aber der Inhalt von vr und vr.pano nicht null ist wird beim erneuten laden die IF-Abfrage von initPanorama sofort ausgeführt. Was wiederum zu früh ist und die Parameter die ich mitgeben möchte ins leere laufen.. Ich weiss nur leider nicht was ich alles entladen und removen muss damit der GC den ganzen mist entfernt. |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: May 2010
Beiträge: 87
|
hmm "normalerweise" kann man den gc nicht einfach so anstoßen (würde in deinem fall eh nichts bringen, mehr dazu gleich). Es gibt einen Trick den gc anzuwerfen, das würde ich aber nur für debug-zwecke machen ![]() Zu deiner Lösung: alles was du tun musst ist nach dem vr.cleanup() noch vr auf null zu setzen, also: Code: vr.cleanup(); vr = null; Geändert von NilsK (15-07-2010 um 14:19 Uhr) |
| | |
| | #7 (permalink) | ||
| in the boondocks Registriert seit: Feb 2006 Ort: Augsburg
Beiträge: 3.496
| Zitat:
... alle eventlistener entfernen. (removeEventListener)//aber da seh ich keine eventlistener ... das ding aus der displaylist nehmen (removeChild)//hast du ... jeden verweis (vr = null //hat nils ja schon gesagt... loader entladen (unload)//das ebenso die garbage collection springt aber nicht unbedingt sofort an. bei mir steigt der ram immer um etwa 10 mb an bevor er wieder abfällt. wenn das nicht passiert, solltest du wirklich nochmal genauer nachsehen. was natürlich sein kann ist, dass in der geladenen swf noch sonstwelche listener aktiv sind. wenn cleanup (ich vermute das ist dafür da) nicht ausreichen sollte (oder auch so) kann ich dir statt unload nur unloadAndStop() empfehlen. das räumt nach möglichkeit alles weg, was irgendwie geht, stoppt sounds, netstreams und und und Zitat:
sx Geändert von shin10 (15-07-2010 um 15:04 Uhr) | ||
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Flash CS4] swf entladen | zwilland | Flash Einsteiger | 2 | 31-01-2010 12:27 |
| [Flash CS3] MC Entladen | wizzardking | Flash Einsteiger | 2 | 17-05-2009 19:23 |
| MC entladen | Barzy | ActionScript 1 | 2 | 04-03-2004 17:14 |
| entladen | Mathias | Flash 4 und Flash 5 | 1 | 22-09-2003 18:14 |