Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-04-2004, 15:04   #1 (permalink)
Neuer User
 
Benutzerbild von oreiz
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 323
Geister-Script

Hallo zusammen!

Ich habe folgendes Problem!

Ich habe ein script auf einen MC gelegt.
Das funzt alles wunderbar. Grafiken werden dynamisch erzeugt, MCs aus der Library geladen usw.

Doch wenn ich nun dem Spuk ein Ende setzten will, und will das mein Script stopt, geht das nicht. Sorich ich habe diesen MC auf einem Frame. Wenn ich nun in einen weiteren Frame springe, wo dieser MC überhapt nicht mehr vorhanden ist, wird das Script des MCs trotzdem weiterhin ausgeführt.

Hier mal das Script auf dem MC:

--------------------------------------------------------------------------------

onClipEvent (load) {
this.swapDepths(9999);
_level0.wert = 1;
_level0.letztes_mass_check = 0;
}
onClipEvent (mouseDown) {
_root.objekt.attachMovie("button", "box"+_level0.wert, Number(_level0.wert)+100);
_root.objekt["box"+_level0.wert]._x = this._x;
_root.objekt["box"+_level0.wert]._y = this._y;
_level0.letztes_mass_check++;
_level0.letztes_mass_x = this._x;
_level0.letztes_mass_y = this._y;
_level0.wert++;
}
onClipEvent (mouseUp) {
_root.objekt.mc.clear();
_root.objekt.mc.beginFill(0xE8EEEE, 50);
_root.objekt.mc.lineStyle(0, 0x666666, 25);
_root.objekt.mc.moveTo(_root.objekt.box1._x, _root.objekt.box1._y);
for (this.i=2; this.i<_level0.wert; this.i++) {
_root.objekt.mc.lineTo(_root.objekt["box"+this.i]._x, _root.objekt["box"+this.i]._y);
}
_root.objekt.mc.lineTo(_root.objekt.box1._x, _root.objekt.box1._y);
_level0.masse_x = "Breite Ihrer Küche: "+(int(_parent._width)-9);
_level0.masse_y = "Tiefe Ihrer Küche: "+(int(_parent._height)-9);

}
onClipEvent (enterFrame) {
this._x = int((_root.objekt._xmouse/14))*14;
this._y = int((_root.objekt._ymouse/14))*14;
if (_level0.letztes_mass_check>0) {
_level0.mass_x = Math.abs(this._x-_level0.letztes_mass_x);
_level0.mass_y = Math.abs(this._y-_level0.letztes_mass_y);
}
}
onClipEvent (mouseMove) {
_root.masse_anzeige._x = _root.objekt.fadenkreuz._x;
_root.masse_anzeige._y = _root.objekt.fadenkreuz._y;
if (Math.abs(_level0.letztes_mass_x)>0 or Math.abs(_level0.letztes_mass_y)>0) {
_root.objekt.linie.clear();
_root.objekt.linie.lineStyle(0, 0xFF9900, 100);
_root.objekt.linie.moveTo(_level0.letztes_mass_x, _level0.letztes_mass_y);
_root.objekt.linie.lineTo(this._x, this._y);
}
}

--------------------------------------------------------------------------------


Vielen Dank für Eure Hilfe!

Gruß, Micha der Geisterjäger...
oreiz ist offline   Mit Zitat antworten
Alt 23-04-2004, 21:39   #2 (permalink)
~~~~~~~~~~~~
 
Benutzerbild von _geo_
 
Registriert seit: May 2002
Ort: AUSTRIA (OÖ)
Beiträge: 3.298
versuch mal einfach den mc per as zu removen

z.B.: in das onEnter script

if(_root._currentframe != #){ # ... nummer des frames in dem das mc ist
this.removeMovieClip();
}

vielleicht hilfts.

mfg geo
__________________
--- :P ---

Blog
Bei unerwünschten Nebenwirkungen zerreißen Sie die Packungsbeilage oder erschlagen ihren Arzt oder Apotheker
_geo_ ist offline   Mit Zitat antworten
Alt 24-04-2004, 19:14   #3 (permalink)
Neuer User
 
Benutzerbild von oreiz
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 323
Hallo _geo_!

Also ich hab das mittlerweile so gelöst, daß ich
den MC jetzt per Attach Movieclip lade, und somit
wie Du auch vorgeschlagen hast wieder entlade.

Das funzt - löst aber nicht das eigentliche Problem,
das ich so schon öfters hatte!

Viele Grüße, der Micha
oreiz ist offline   Mit Zitat antworten
Alt 24-04-2004, 19:39   #4 (permalink)
eeeek!
 
Benutzerbild von juggernart
 
Registriert seit: Aug 2002
Ort: Augsburg
Beiträge: 210
Dein eigentliches problem ist, wenn ich es richtig verstehe, dass du einen clip, den du in flash auf einen bestimmten frame auf die bühne gezogen hast, später per swapdepths "permanent" machst.
Der clip verhält sich dann genau so wie ein attachter clip, und ist überall in der zeitleiste präsent.
juggernart ist offline   Mit Zitat antworten
Alt 24-04-2004, 21:39   #5 (permalink)
Neuer User
 
Benutzerbild von oreiz
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 323
Hallo juggernart!

Klasse Deine Info!

Mir ist gerade aufgefallen, daß auch bei meinen anderen Projekten, wo ich das gleiche Problem hatte, ich das SwapDeath benutzt hatte.

Was kann ich denn nun dagegen tun?

Was bedeutet, "...permanent machst..."?

Wie kann man das denn wieder aufheben?

Viele Fragen, vielen Dank aber auch!

Gruß, der Micha
oreiz ist offline   Mit Zitat antworten
Alt 25-04-2004, 13:30   #6 (permalink)
eeeek!
 
Benutzerbild von juggernart
 
Registriert seit: Aug 2002
Ort: Augsburg
Beiträge: 210
Hi.
Q: Was kann ich denn nun dagegen tun?
A: Nichts. Oder Deine Projekte so planen, dass Du nur mit attachMovieClip arbeitest.
Andererseits ist es ja völlig ok einen in Flash auf die Bühne gezogenen Clip später mit swapDepths auf eine andere Tiefe zu setzen.
(Ich mach das auch oft) Du musst nur immer daran denken, dass sich dieser clip dann wie ein attached-ter clip verhält, d.h. in der Zeitleiste, in der er auf die Bühne gesetzt wird überall präsent und verfügbar ist (das meinte ich mit "permanent" machen).
"Aufheben" kann man das nicht. Du kannst den clip dann nur noch mit removeMovieClip entfernen.
Um ihn wieder auf die Bühne zu setzen musst du in den Frame springen, wo er das erste mal erscheint (d.h. wo du ihn auf die Bühne gesetzt hast).
juggernart ist offline   Mit Zitat antworten
Alt 25-04-2004, 16:52   #7 (permalink)
Neuer User
 
Benutzerbild von oreiz
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 323
Hallo juggernart!

Ok, das hab ich jetzt soweit verstanden.

Aber, ich hab das File leider nicht in Reichweite, kann ich mich
daran erinnern, daß ich es bereits versucht habe, den MC per
RemoveMovieclip zu entfernen. Das hat aber nicht funktioniert.
Wie eben mit allen MCs die man manuell auf der Bühne platziert.
Geht ja nur eben mit den MCs die man per Attach holt.

Aber ich werd das mal ausprobieren.

Vielen Dank für Deine Hilfe,

Gruß, der Micha
oreiz ist offline   Mit Zitat antworten
Alt 25-04-2004, 17:00   #8 (permalink)
eeeek!
 
Benutzerbild von juggernart
 
Registriert seit: Aug 2002
Ort: Augsburg
Beiträge: 210
Zitat:
Geschrieben von oreiz
Wie eben mit allen MCs die man manuell auf der Bühne platziert.
Geht ja nur eben mit den MCs die man per Attach holt.
Stimmt nicht, hast da sicher was falsch gemacht.
hier auch gucken:
Mc Instanz per Script von der Bühne entfernen

ciao
juggernart ist offline   Mit Zitat antworten
Alt 25-04-2004, 17:45   #9 (permalink)
Level up
 
Benutzerbild von Alois
 
Registriert seit: Jun 2001
Ort: Bocholt
Beiträge: 4.155
Zitat:
Geschrieben von juggernart
Hi.
Q: Was kann ich denn nun dagegen tun?
A: Nichts. ....
hmm..., nun man könnte natürlich folgendes machen:
ActionScript:
  1. my_depth=mc.getDepth()
  2. mc.swapDepths(100);
...und vor dem Framewechsel:
ActionScript:
  1. mc.swapDepths(my_depth);
...allerdings ist man mit einem einfachen mc.removeMovieClip() natürlich mindestens genau so gut beraten...

Gruß

Alois
__________________
-Spuckt mir auf den Stuhl, ich will im Grünen sitzen-
Alois ist offline   Mit Zitat antworten
Antwort

Lesezeichen

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 14:14 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele