getreidemuehlen
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 11.09.2007, 00:27   #1
TP-Senior
 
Benutzerbild von Angie3007
 
Registriert seit: Feb 2006
Angie3007 ist auf einem guten Weg

Movieclip entfernen, der über Funktion geladen wird


Guten Abend alle zusammen,

bis jetzt konnte ich geladene Movieclips, die ich mit attachMovie() oder duplicateMovie() aufgerufen habe, in nächsten Frame unproblematisch mit removeMovieClip() wieder loswerden.

Ich habe im Netz ein Skript gefunden, das ich mir für meine Bedürfnisse anpassen konnte.

In diesem Fall lade ich einen Movieclip aus der Bibliothek ( also nicht auf der Bühne platziert ) über eine Funktion. Im ersten Bild habe ich einen leeren MC platziert, der die Funktion über onClipEvent (load)... aufruft.
Das funktioniert auch wunderbar.

Nach Ablauf des Timers springe ich in den zweiten Frame und hätte da wieder gerne eine leere Bühne. Die aufgerufenen Instanzen werde ich aber hier nicht mehr los. Innerhalb der Funktion werden sie zwar mit attachMovie aufgerufen, lassen sich aber nicht mit removeMovieClip wieder entfernen.

Wahrscheinlich muss ich die aufgerufene Funktion wieder stoppen, bin mir da aber nicht schlüssig, wie ich das machen soll.

Eine Testdatei habe ich mal angehangen ( in Flash 8 konvertiert ).

Lg Anja

Geändert von Angie3007 (11.10.2007 um 23:46 Uhr).
Angie3007 ist offline   Mit Zitat antworten


Alt 11.09.2007, 00:44   #2
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
AS bei Bildbezeichnung "stop"
PHP-Code:
Mouse.show();
//for (i=1; i<=cAnzOrange; i++) _root["orange_getroffen" + i].unloadMovie();
// oder
for (i=1i<=cAnzOrangei++) _root["orange_getroffen" i].removeMovieClip();
stop(); 
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE
emCalculator 1.0

webcreate IT SOLUTIONS
www.webcreate-nrw.de

>>> der code ist so scheisse, soweit hab ich nicht gelesen <<<
webcreate ist offline   Mit Zitat antworten
Alt 11.09.2007, 00:51   #3
TP-Senior
 
Benutzerbild von Angie3007
 
Registriert seit: Feb 2006
Angie3007 ist auf einem guten Weg

Ich schließe Dich gleich in mein Nachtgebet mit ein !
Angie3007 ist offline   Mit Zitat antworten
Alt 11.09.2007, 00:53   #4
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Dir helfe ich nicht mehr!







Wer weiß was sonst noch kommt.
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE
emCalculator 1.0

webcreate IT SOLUTIONS
www.webcreate-nrw.de

>>> der code ist so scheisse, soweit hab ich nicht gelesen <<<
webcreate ist offline   Mit Zitat antworten
Alt 11.09.2007, 16:24   #5
TP-Senior
 
Benutzerbild von Angie3007
 
Registriert seit: Feb 2006
Angie3007 ist auf einem guten Weg
Hallo Mark,

Habe mir das mit dem Gebet dann doch noch mal überlegt. Du sollst ja keine Angst vor mir bekommen.

Was hat es für einen Grund, daß ich das Fadenkreuz nicht mehr sehen kann, wenn es die Objekte berührt oder genau auf den Objekten liegt?
Ich habe die Fadenkreuz-Ebene mal über die Shooter-Ebene geschoben, das hat aber nichts gebracht.

Das hat sicherlich doch irgendwas mit _root zu tun?

Lg Anja
Angie3007 ist offline   Mit Zitat antworten
Alt 11.09.2007, 16:54   #6
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Das hat was mit der Stufe zu tun, die Objekte werden ja via AS platziert.
Änder das AS auf dem Fadenkreuz mal wie folgt ab.
PHP-Code:
onClipEvent (enterFrame) {
    
this.swapDepths(1000); // Schiebt es nach oben.
    
this._x _root._xmouse;
    
this._y _root._ymouse;

__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE
emCalculator 1.0

webcreate IT SOLUTIONS
www.webcreate-nrw.de

>>> der code ist so scheisse, soweit hab ich nicht gelesen <<<
webcreate ist offline   Mit Zitat antworten
Alt 11.09.2007, 17:36   #7
TP-Senior
 
Benutzerbild von Angie3007
 
Registriert seit: Feb 2006
Angie3007 ist auf einem guten Weg
swapDepths() habe ich jetzt natürlich mal nachgeschlagen und glaube, das habe ich auch kapiert. Ich setze das Fadenkreuz damit einfach auf eine höhere Ebene. Das funktioniert anscheinend auch bei statischen Filmsequenzen, die man mit removeMovieClip() löschen möchte.

Wenn ich jetzt noch zwei andere Objekte zusätzlich auf die Bühne bringen möchte um der ganzen Sache mehr Herausforderung zu geben, muss ich dann für die beiden weiteren zwei komplett neue Funktionen definieren oder kann ich sie auch mit der Funktion fInit ansprechen?
Die beiden neuen Objekte sind vom Aufbau identisch mit dem vorhandenen, sie unterscheiden sich später lediglich in der Anzahl der Punkte, die sie bringen.

Ich habe sie in meinem jugendlichen Leichtsinn mal mit in die while-schleife reingepackt, was beim Testen natürlich zu einem Totalabsturz führte.

Jetzt dachte ich schon mal, sie ließen sich mit einem Operator verknüfen, finde da aber keinen, der das erreicht, was ich will.

Code:
function fInit() {
	var v;
	var vName;
	var vObj;
	v = 1;
	while (cAnzOrange>=v, cAnzLimette>=v, cAnzZitrone>=v) {
		vName = "orange_getroffen"+v; 
		vName = "limette_getroffen"+v;
		vName = "zitrone_getroffen"+v;
		_root.attachMovie("orange_getroffen",vName,v); 
		_root.attachMovie("limette_getroffen",vName,v); 
		_root.attachMovie("zitrone_getroffen",vName,v);
		vObj = _root[vName];
		vObj._x = vRahmenL+random(vRahmenB);
		vObj._y = vRahmenT+random(vRahmenH);
		vObj.orange_getroffen.splash1._alpha = 0;
		vObj.limette_getroffen.splash2._alpha = 0;
		vObj.zitrone_getroffen.splash3._alpha = 0;
		v++;

	}
}
Ich habe es bislang nur soweit geschafft, das die Zitronen angezeigt werden, die auch als letztes angesprochen werden. Die gewünschte Anzahl der einzelnen Objekte, die in der Schleife auftauchen, habe ich natürlich vorher definiert, also z.B.
var cAnzZitrone = 5

Anja
Angie3007 ist offline   Mit Zitat antworten
Alt 11.09.2007, 18:32   #8
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Niedliches Konstrukt

So, ich habe da mal ein wenig aufgeräumt und mal den ganzen Code auf die Zeitleiste gelegt, so muss man da nicht immer auf den Objekten suchen.
Die Zitronen und Äpfel habe ich einfach mal mit Kreisen angedeutet ...
Angehängte Dateien
Dateityp: zip remove_Flash8.zip (51,3 KB, 17x aufgerufen)
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE
emCalculator 1.0

webcreate IT SOLUTIONS
www.webcreate-nrw.de

>>> der code ist so scheisse, soweit hab ich nicht gelesen <<<
webcreate ist offline   Mit Zitat antworten
Alt 11.09.2007, 20:58   #9
TP-Senior
 
Benutzerbild von Angie3007
 
Registriert seit: Feb 2006
Angie3007 ist auf einem guten Weg
Niedliches Konstrukt, also ehrlich...

Dabei war ich schon so stolz, es sah auf jeden Fall hochprofessionell aus.
Es ist echt zum Verzweifeln, Gott sei Dank muss ich mit ActionScript kein Geld verdienen, dann wäre ich schon verhungert.

Ich hatte mal ansatzweise mit der Programmiersprache Java zu tun, da hatte ich mit Funktionen, Methoden und Anweisungen auch schon meine Probleme.

Aber das von Dir ist schon super, das bekomme ich in meinen kompletten Film auf jeden Fall reingestrickt.

Danke!
Anja
Angie3007 ist offline   Mit Zitat antworten
Alt 11.09.2007, 21:00   #10
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Zitat:
Zitat von Angie3007 Beitrag anzeigen
das bekomme ich in meinen kompletten Film auf jeden Fall reingestrickt.
http://strickforum.de
Wir wollen hier doch programmieren.

Bei weiteren Fragen, weißt Du ja wo es Hilfe gibt. Zumindest wenn wir uns auf die Programmierung festlegen.
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE
emCalculator 1.0

webcreate IT SOLUTIONS
www.webcreate-nrw.de

>>> der code ist so scheisse, soweit hab ich nicht gelesen <<<
webcreate ist offline   Mit Zitat antworten
Alt 14.09.2007, 08:31   #11
TP-Senior
 
Benutzerbild von Angie3007
 
Registriert seit: Feb 2006
Angie3007 ist auf einem guten Weg
Warum funktioniert

Code:
this.onLoad = function() {
	_root.fInit(cAnzOrange, "orange_getroffen");
	_root.fInit(cAnzLimette, "limette_getroffen");
	_root.fInit(cAnzZitrone, "zitrone_getroffen");
}
innerhalb des eigentlichen Filmes nicht ?
Ich nehme stark an, daß es an dem Funktionsaufruf liegt. Irgendie muss es da noch einen Unterschied geben ob der Film direkt startet oder eingebunden ist.

Wenn ich in der Testversion ein Bild davor setze und da einen Timer von 15 Sekunden reinsetze, der nach Ablauf dieser 15 Sekunden nach Bild 2 springt, passiert --- nichts...
Angie3007 ist offline   Mit Zitat antworten
Alt 14.09.2007, 10:02   #12
TP-Moderator
 
Benutzerbild von Wanderratte
 
Registriert seit: Mar 2002
Wanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKE
Hallo Anja,

onLoad zickt manchmal rum, erstelle einen normalen functionsaufruf
function init(){
deine Anweisung
}
damit deine Anweisung nur einmal ausgeführt wird
if(aufruf == undefined)
{
init()
aufruf = false;
}
Ist zwar nicht die feine englische Art, aber hilfreich
__________________
Gruß

Wanderratte
Gebildet ist,
wer weiß,
wo er findet,
was er nicht weiß.

Eurokicker
Home
Amazon Wunschzettel
Wanderratte ist offline   Mit Zitat antworten
Alt 14.09.2007, 21:29   #13
TP-Senior
 
Benutzerbild von Angie3007
 
Registriert seit: Feb 2006
Angie3007 ist auf einem guten Weg
Hm, verträgt den "onLoad" einen Framewechsel allgemein schlecht (zickig, wie Ralf so schön sagte) oder hat das einen bestimmten Grund?

Anscheinend funktioniert es ja wunderbar, wenn es direkt im ersten Bild aufgerufen wird. Aber das heißt doch dann bestimmt nicht, daß man "onLoad" nur im ersten Bild benutzen kann.

Oder ist es einfach überfordert, da es eine Funktion dreifach aufrufen muss? Kann aber ja auch nicht sein, sonst würde es auch im ersten Bild nicht klappen.

Erst dachte ich, daß es mit dem Timer ein Problem hat, aber ich habe testweise im ersten Bild mal einen Schalter gesetzt, der auf das zweite Bild verweist, das Ergebnis war dasselbe. Keinerlei Reaktion.
Der zweite Versuch war, über einen leeren MC über "onClipEvent (load) {...} die Funktion aufzurufen
Dann kam die Fehlermeldung, daß der Flash-Player durch ein Skript verlangsamt wird. Also Totalausfall.

Dabei finde ich "onLoad" eine wirklich elegante Lösung, wenn sie funkionieren würde.
__________________
Gruß Anja

*** Wenn die Sonne der Erkenntnis niedrig steht, werfen auch Zwerge lange Schatten ***
Angie3007 ist offline   Mit Zitat antworten
Alt 15.09.2007, 02:34   #14
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Das ist eigentlich ein ganz normales Verhalten.
die onLoad Prozedur wird ausgeführt, sobald ein Objekt in den Speicher geladen wird.
Da der Film nun schon vor dem erreichen des 2 Key im Speicher ist, wird diese Prozedur auch nicht mehr ausgeführt.

Aber das onLoad brauchst Du eigentlich auch nicht. Wichtig ist halt, dass der Aufruf der function er nach ihrere Deklaration passiert. Also am Besten am Ende des Codes.

Um das zu testen, kannst Du ja mal diese beiden Codes probieren.
PHP-Code:
this.onLoad = function(){
    
ausgabe();
}
ausgabe = function() {
   
trace("ich bin geladen");

und
PHP-Code:
ausgabe();
ausgabe = function() {
   
trace("ich bin geladen");

Du wirst sehen, im zweiten Code wird nichts ausgegeben, da zum Zeitpunkt der function diese noch garnicht geladen ist.
Schreibe den Funktionsaufruf nach der function und es geht.

So kannst Du es nun auch bei Dir anwenden.
Die Deklarationen der functions können ja ruhig schon im ersten Key stehen. Beim erreichen des 2. Keys rufst Du sie dann einfach normal auf.

onLoad ist auch in Verbindung mit großen Daten nicht ohne. Hier kann es dazu kommen, das ein Ereignis in einem MC gestartet werden soll, dieses MC aber noch nicht voll geladen ist und daher passiert die gewünschte Aktion nicht.
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE
emCalculator 1.0

webcreate IT SOLUTIONS
www.webcreate-nrw.de

>>> der code ist so scheisse, soweit hab ich nicht gelesen <<<
webcreate ist offline   Mit Zitat antworten
Alt 15.09.2007, 21:08   #15
TP-Senior
 
Benutzerbild von Angie3007
 
Registriert seit: Feb 2006
Angie3007 ist auf einem guten Weg
Ich bin echt ein Trottel, da zerbreche ich mir tagelang den Kopf über onLoad, und im Endeffekt muss ich es einfach nur weglassen.

Eins ist sicher, ich werde mich mal intensiver mit dem Gebrauch von onLoad beschäftigen, um die Vor- und Nachteile zu erkennen. Denn so auf Anhieb fällt mir kein direkter Vorteil an, obwohl es da mit Sicherheit welche gibt, wenn vielleicht noch nicht für meine Ansprüche.

Wieder mal viel gelernt und ich danke auch zwei erneut herzlich für Eure Geduld.
__________________
Gruß Anja

*** Wenn die Sonne der Erkenntnis niedrig steht, werfen auch Zwerge lange Schatten ***
Angie3007 ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Flash > Flash CS3
Movieclip entfernen, der über Funktion geladen wird Movieclip entfernen, der über Funktion geladen wird
« Interaktive Gestaltung eines Produktes - eure Einschätzung | E-Mail senden mit Flash-Kontaktformular »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen