Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-05-2009, 06:15   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2009
Beiträge: 22
Smile Instanziierung - Kontrolle verhindert erneuten Funktionsaufruf

Hallo Leute,

ich erzeuge mit Hilfe von Funktionen MovieClips und Buttons mit AS3. Diese Objekte werden per Funktionsaufruf der Anzeigeliste hinzugefügt.

Diese MovieClips/Buttons beinhalten u.a. eine Navigationsstruktur per Buttons: Also mit Hilfe der Buttons wird auf diverse Frames Vor- und Zurück gesprungen.

Auf den jeweiligen Frames liegen die verschiedenen Funktionsaufrufe. Ich habe in den Funktionen eine Kontrolle integriert die verhindert, daß die Funktion ein weiteres mal beim betreten eines Frames erneut aufgerufen wird.

Ohne diese Kontrolle würde bei der der Vor- und Zurück-Navigation beispielsweise ein Button erneut instanziert und überdeckt somit den bereits vorhandenen.

Um das überlagern zu verhindern habe ich für jedes Objekt eine Entfernen Funktion erstellt. Diese entfernen Funktionen liegen auch auf den gewünschten Frames. So weit so gut...

Das eigentliche Problem: Wird beispielsweise von Frame 1 auf Frame 2 gesprungen werden die auf Frame 2 unerwünschten Objekte entfernt. Springe ich zurück auf Frame 1 werden die zuvor entfernten Objekte wegen meiner Kontrolle nicht erneut instanziiert - was jetzt natürlich wieder erwünscht ist.

Entferne ich die Kontrolle werden bei jedem erneuten Betreten neue Objekte instanziiert, die sich überlagern...

Das ist mein Dilemma...

Hat jemand von Euch einen Lösungsvorschlag?

Vielen Dank!



Code:
//Anzeigen

var angezeigt:uint = 0;
		function objektAnzeigen_() {
				if (angezeigt != 0) {
					return;
						}
						else {
					angezeigt = 1;
	var meinObjekt_mc = new meinObjekt_mc();
	meinObjekt_mc.name = "meinHObjekt_mc";
	meinObjekt_mc.x = 0;
	meinObjekt_mc.y = 0;
	addChildAt(meinObjekt_mc, 0);
				}
	}



//Entfernen

function objektEntfernen_() {
		removeChild(getChildByName("meinObjekt_mc"));
	}
flashslacks ist offline   Mit Zitat antworten
Alt 07-05-2009, 07:40   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Hat jemand von Euch einen Lösungsvorschlag?
Erstell alles auf einem Frame. Du kannst schließlich zur Laufzeit bspw. mit new Objekte aus der Bibliothek in die DisplayList hängen und damit komplett auf das Springen innerhalb der Hauptzeitleiste verzichten...
  Mit Zitat antworten
Alt 07-05-2009, 12:57   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2009
Beiträge: 22
Smile Vielen Dank!

Hallo Holger,

vielen Dank für Deine schnelle Hilfe. Das scheint wirklich eine gute Möglichkeit zu sein das Projekt zu realisieren. Meine ersten Versuche waren auf jeden Fall vielversprechend!

Gruß

flashslacks
flashslacks ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
aufruf, funktionen, instanzen, kontrolle, navigation

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 11:48 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele