| |||||||
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: Feb 2012
Beiträge: 62
| remove Child und MOUSE OVER Frage
Hallo, ich habe ein Menü mit 4 Punkten die sich nicht bewegen. Gehe ich mit der Maus in einen der Bereiche, soll dieser anfangen zu wackeln. Das erreiche ich, in dem ich einen statischen MovieClip durch einen mit Animation ersetze. Aber es kommen statt einem immer sehr viele Bewegende MCs und die verschwinden auch nicht wieder, wenn ich mit der Maus den Bereich verlasse. Bei der Ausgabe kommt immer: ArgumentError: Error #2025: Das angegebene DisplayObject muss ein untergeordnetes Element des Aufrufers sein. at flash.display: isplayObjectContainer/removeChild()at MEN_fla::MainTimeline/wackeln() ich verstehe aber nicht, was ich falsch mache... Hier mein Code: Code: // Menüpunkte statisch auf die Bühne bringen
var typoanimation_instanz_sta:typoanimation_sta = new typoanimation_sta();
this.addChild(typoanimation_instanz_sta);
typoanimation_instanz_sta.x = 30;
typoanimation_instanz_sta.y = 90;
var bewegungsquiz_instanz_sta:bewegungsquiz_sta = new bewegungsquiz_sta();
this.addChild(bewegungsquiz_instanz_sta);
bewegungsquiz_instanz_sta.x = 400;
bewegungsquiz_instanz_sta.y = 90;
var gestaltgesetze_instanz_sta:gestaltgesetze_sta = new gestaltgesetze_sta();
this.addChild(gestaltgesetze_instanz_sta);
gestaltgesetze_instanz_sta.x = 20;
gestaltgesetze_instanz_sta.y = 400;
var freieaufgabe_instanz_sta:freieaufgabe_sta = new freieaufgabe_sta();
this.addChild(freieaufgabe_instanz_sta);
freieaufgabe_instanz_sta.x = 500;
freieaufgabe_instanz_sta.y = 400;
// bewegte Menüpunkte
//bereich typoanimation
stage.addEventListener(MouseEvent.MOUSE_OVER, wackeln);
function wackeln(event:MouseEvent):void
{
if (mouseY < 320 && mouseX < 400)
{
trace("Bereich Typoanimation");
var typoanimation_instanz_ani:typoanimation = new typoanimation();
this.addChild(typoanimation_instanz_ani);
typoanimation_instanz_ani.x = 30;
typoanimation_instanz_ani.y = 90;
stage.removeChild(typoanimation_instanz_sta);
}
//bereich gestaltgesetze
else if (mouseY > 320 && mouseX < 400)
{
trace("Bereich Gestaltgesetze");
var gestaltgesetze_instanz_ani:gestaltgesetze = new gestaltgesetze();
this.addChild(gestaltgesetze_instanz_ani);
gestaltgesetze_instanz_ani.x = 20;
gestaltgesetze_instanz_ani.y = 400;
this.removeChild(gestaltgesetze_instanz_sta);
}
//bereich bewegungsquiz
else if (mouseY < 320 && mouseX > 400)
{
trace("Bereich Bewegungsquiz");
var bewegungsquiz_instanz_ani:bewegungsquiz = new bewegungsquiz();
this.addChild(bewegungsquiz_instanz_ani);
bewegungsquiz_instanz_ani.x = 400;
bewegungsquiz_instanz_ani.y = 90;
this.removeChild(bewegungsquiz_instanz_sta);
//bereich freieaufgabe
}
else if (mouseY > 320 && mouseX > 400)
{
trace("Bereich Freieaufgabe");
var freieaufgabe_instanz_ani:freieaufgabe = new freieaufgabe();
this.addChild(freieaufgabe_instanz_ani);
freieaufgabe_instanz_ani.x = 500;
freieaufgabe_instanz_ani.y = 400;
this.removeChild(freieaufgabe_instanz_sta);
}
}
///////////// wackelnde wieder statisch machen
stage.addEventListener(MouseEvent.MOUSE_OUT, stehen);
function stehen(event:MouseEvent):void
{
// typo animation
if (mouseY < 320 && mouseX < 400)
{
var typoanimation_instanz_ani:typoanimation = new typoanimation();
removeChild(typoanimation_instanz_ani);
trace("Bereich Typoanimation");
var typoanimation_instanz_sta:typoanimation = new typoanimation();
this.addChild(typoanimation_instanz_sta);
typoanimation_instanz_sta.x = 30;
typoanimation_instanz_sta.y = 90;
//bereich gestaltgesetze
}
else if (mouseY > 320 && mouseX < 400)
{
var gestaltgesetze_instanz_ani:gestaltgesetze = new gestaltgesetze();
removeChild(gestaltgesetze_instanz_ani);
trace("Bereich Gestaltgesetze");
var gestaltgesetze_instanz_sta:gestaltgesetze = new gestaltgesetze();
this.addChild(gestaltgesetze_instanz_sta);
gestaltgesetze_instanz_sta.x = 20;
gestaltgesetze_instanz_sta.y = 400;
//bereich bewegungsquiz
}
else if (mouseY < 320 && mouseX > 400)
{
var bewegungsquiz_instanz_ani:bewegungsquiz = new bewegungsquiz();
removeChild(bewegungsquiz_instanz_ani);
trace("Bereich Bewegungsquiz");
var bewegungsquiz_instanz_sta:bewegungsquiz = new bewegungsquiz();
this.addChild(bewegungsquiz_instanz_sta);
bewegungsquiz_instanz_sta.x = 400;
bewegungsquiz_instanz_sta.y = 90;
//bereich freieaufgabe
}
else if (mouseY > 320 && mouseX > 400)
{
var freieaufgabe_instanz_ani:freieaufgabe = new freieaufgabe();
removeChild(freieaufgabe_instanz_ani);
trace("Bereich Freiaufgabe");
var freieaufgabe_instanz_sta:freieaufgabe = new freieaufgabe();
this.addChild(freieaufgabe_instanz_sta);
freieaufgabe_instanz_sta.x = 500;
freieaufgabe_instanz_sta.y = 400;
}
} |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Feb 2012
Beiträge: 62
|
Danke dir! Hab jetzt alles auf die stage gepackt, aber das Problem bleibt... hast du noch eine Idee? ![]() ArgumentError: Error #2025: Das angegebene DisplayObject muss ein untergeordnetes Element des Aufrufers sein. at flash.display: isplayObjectContainer/removeChild()at MEN_fla::MainTimeline/wackeln() ArgumentError: Error #2025: Das angegebene DisplayObject muss ein untergeordnetes Element des Aufrufers sein. at flash.display: isplayObjectContainer/removeChild()at MEN_fla::MainTimeline/stehen() ActionScript:
Geändert von Martin Kraft (05-02-2012 um 10:44 Uhr) |
| | |
| | #4 (permalink) |
| + Zimt & Zucker Registriert seit: Mar 2006 Ort: hinterm Mond gleich links
Beiträge: 2.041
|
Warum denn stage? Füge es einfach der Hauptzeitleiste hinzu indem du "stage." streichst. PHP-Code: Der Aufbau ist etwas wirr. Kein Wunder das du da den Überblick verlierst. Die Funktionalität der 2 Zustände ließe sich prima in eine Klasse packen. Wenn das erste Bild deiner Animation gleich dem unanimierten Zustand ist, dann benötigst du auch nur ein Anzeigeobjekt.
__________________ anbei Grüße vom milchreis: Viva la [Silb] "Selbst wenn uns nur noch der Zynismus treibt, wir werden trotzdem einfach immer weiter gehen!" [Von null auf Flash in einem Klick.] <<< klick |
| | |
| | #5 (permalink) |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
| Grundsätzlich haben meine vorredner mit allem was sie sagen recht. stage ist böse ![]() Um aber einfach nur eine Instanz sauber und ohne Fehlermeldungen aus der Anzeigeliste zu entfernen kannst Du DIch diesen Codes bedienen: ActionScript:
Im folgenden einige formale Anmerkung, die Dir (der Du Deinen Code lesen musst) und uns (die wir ihn nachvollziehen müssen) bei Beherzigung das Leben erheblich einfacher machen:
__________________ Viele Grüße // Martin Martin Kraft // Interaktionsdesign Hilfreiche Websites: // Hilfe zur Adobe Flash Plattform // ActionScript 2 Referenz // ActionScript 3 Referenz // ActionScript 3 Arbeitshandbuch // weitere Flash Ressourcen Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da! Geändert von Martin Kraft (05-02-2012 um 12:24 Uhr) |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Feb 2012
Beiträge: 62
|
Danke für eure Hilfe Ihr habt sicher gemerkt, dass ich eine absolute Anfängerin bin... da ist mir jeder Tipp recht. Ich bastel mal mit euren Tipps weiter und wenn es dann immer noch nicht hinhaut, belästige ich euch nochmal |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Feb 2012
Beiträge: 62
|
So hab das jetzt mal so versucht... aber er bringt ganz viele Fehler... die kamen auch, bevor ich das Child nochmal neu generiert hatte, um es dann zu löschen... deswegen hatte ich die auch nochmal generiert... war vermutlich nicht sinnvoll, aber es kamen keine Fehler mehr....^^ Code: // bewegte Menüpunkte
//bereich typoanimation
stage.addEventListener(MouseEvent.MOUSE_OVER, wackeln);
function wackeln(event:MouseEvent):void
{
if (mouseY < 320 && mouseX < 400)
{
trace("Bereich Typoanimation");
var typoanimation_instanz_ani:typoanimation = new typoanimation();
addChild(typoanimation_instanz_ani);
typoanimation_instanz_ani.x = 30;
typoanimation_instanz_ani.y = 90;
removeChild(typoanimation_instanz_sta);
}
//bereich gestaltgesetze
else if (mouseY > 320 && mouseX < 400)
{
trace("Bereich Gestaltgesetze");
var gestaltgesetze_instanz_ani:gestaltgesetze = new gestaltgesetze();
addChild(gestaltgesetze_instanz_ani);
gestaltgesetze_instanz_ani.x = 20;
gestaltgesetze_instanz_ani.y = 400;
removeChild(gestaltgesetze_instanz_sta);
}
//bereich bewegungsquiz
else if (mouseY < 320 && mouseX > 400)
{
trace("Bereich Bewegungsquiz");
var bewegungsquiz_instanz_ani:bewegungsquiz = new bewegungsquiz();
addChild(bewegungsquiz_instanz_ani);
bewegungsquiz_instanz_ani.x = 400;
bewegungsquiz_instanz_ani.y = 90;
removeChild(bewegungsquiz_instanz_sta);
//bereich freieaufgabe
}
else if (mouseY > 320 && mouseX > 400)
{
trace("Bereich Freieaufgabe");
var freieaufgabe_instanz_ani:freieaufgabe = new freieaufgabe();
addChild(freieaufgabe_instanz_ani);
freieaufgabe_instanz_ani.x = 500;
freieaufgabe_instanz_ani.y = 400;
removeChild(freieaufgabe_instanz_sta);
}
}
///////////// wackelnde wieder statisch machen
stage.addEventListener(MouseEvent.MOUSE_OUT, stehen);
function stehen(event:MouseEvent):void
{
// typo animation
if (mouseY < 320 && mouseX < 400)
{
if(typoanimation_instanz_ani.parent) typoanimation_instanz_ani.parent.removeChild(typoanimation_instanz_ani);
trace("Bereich Typoanimation");
var typoanimation_instanz_sta:typoanimation = new typoanimation();
addChild(typoanimation_instanz_sta);
typoanimation_instanz_sta.x = 30;
typoanimation_instanz_sta.y = 90;
//bereich gestaltgesetze
}
else if (mouseY > 320 && mouseX < 400)
{
if(gestaltgesetze_instanz_ani.parent) gestaltgesetze_instanz_ani.parent.removeChild(gestaltgesetze_instanz_ani);
trace("Bereich Gestaltgesetze");
var gestaltgesetze_instanz_sta:gestaltgesetze = new gestaltgesetze();
addChild(gestaltgesetze_instanz_sta);
gestaltgesetze_instanz_sta.x = 20;
gestaltgesetze_instanz_sta.y = 400;
//bereich bewegungsquiz
}
else if (mouseY < 320 && mouseX > 400)
{
if(bewegungsquiz_instanz_ani.parent) bewegungsquiz_instanz_ani.parent.removeChild(bewegungsquiz_instanz_ani);
trace("Bereich Bewegungsquiz");
var bewegungsquiz_instanz_sta:bewegungsquiz = new bewegungsquiz();
addChild(bewegungsquiz_instanz_sta);
bewegungsquiz_instanz_sta.x = 400;
bewegungsquiz_instanz_sta.y = 90;
//bereich freieaufgabe
}
else if (mouseY > 320 && mouseX > 400)
{
if(freieaufgabe_instanz_ani.parent) freieaufgabe_instanz_ani.parent.removeChild(freieaufgabe_instanz_ani);
trace("Bereich Freiaufgabe");
var freieaufgabe_instanz_sta:freieaufgabe = new freieaufgabe();addChild(freieaufgabe_instanz_sta);
freieaufgabe_instanz_sta.x = 500;
freieaufgabe_instanz_sta.y = 400;
}
} Code: Szene 1, Ebene 'Ebene 1', Bild 1, Zeile 182 1120: Zugriff auf eine nicht definierte Eigenschaft freieaufgabe_instanz_ani. Szene 1, Ebene 'Ebene 1', Bild 1, Zeile 182 1120: Zugriff auf eine nicht definierte Eigenschaft freieaufgabe_instanz_ani. Szene 1, Ebene 'Ebene 1', Bild 1, Zeile 182 1120: Zugriff auf eine nicht definierte Eigenschaft freieaufgabe_instanz_ani. Szene 1, Ebene 'Ebene 1', Bild 1, Zeile 169 1120: Zugriff auf eine nicht definierte Eigenschaft bewegungsquiz_instanz_ani. Szene 1, Ebene 'Ebene 1', Bild 1, Zeile 169 1120: Zugriff auf eine nicht definierte Eigenschaft bewegungsquiz_instanz_ani. Szene 1, Ebene 'Ebene 1', Bild 1, Zeile 169 1120: Zugriff auf eine nicht definierte Eigenschaft bewegungsquiz_instanz_ani. Szene 1, Ebene 'Ebene 1', Bild 1, Zeile 156 1120: Zugriff auf eine nicht definierte Eigenschaft gestaltgesetze_instanz_ani. Szene 1, Ebene 'Ebene 1', Bild 1, Zeile 156 1120: Zugriff auf eine nicht definierte Eigenschaft gestaltgesetze_instanz_ani. Szene 1, Ebene 'Ebene 1', Bild 1, Zeile 156 1120: Zugriff auf eine nicht definierte Eigenschaft gestaltgesetze_instanz_ani. Szene 1, Ebene 'Ebene 1', Bild 1, Zeile 142 1120: Zugriff auf eine nicht definierte Eigenschaft typoanimation_instanz_ani. Szene 1, Ebene 'Ebene 1', Bild 1, Zeile 142 1120: Zugriff auf eine nicht definierte Eigenschaft typoanimation_instanz_ani. Szene 1, Ebene 'Ebene 1', Bild 1, Zeile 142 1120: Zugriff auf eine nicht definierte Eigenschaft typoanimation_instanz_ani. |
| | |
| | #8 (permalink) |
| + Zimt & Zucker Registriert seit: Mar 2006 Ort: hinterm Mond gleich links
Beiträge: 2.041
|
Die Variablen sind lokal in der Funktion definiert. Deshalb sind sie außerhalb nicht bekannt. Der Code vom Martin kann den Fehler verhindern, wenn die Logik in deinem Code nicht stimmt, nützt dir das aber auch nichts und bläht im Gegenteil deinen Code nur unnötig auf. Es wäre ratsam eine Klasse für die buttons anzulegen.
__________________ anbei Grüße vom milchreis: Viva la [Silb] "Selbst wenn uns nur noch der Zynismus treibt, wir werden trotzdem einfach immer weiter gehen!" [Von null auf Flash in einem Klick.] <<< klick |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Flash CS5] Wie remove ich das Child am besten? | n_h_la | Flash Einsteiger | 9 | 26-07-2010 11:05 |
| remove Child funktioniert nicht | chibo | ActionScript 3 | 5 | 31-05-2010 10:34 |
| Remove Child Fehler | On.the.run | ActionScript 3 | 12 | 28-03-2010 22:51 |
| [Flash CS4] Remove Child geht nicht | Porates | Flash Einsteiger | 6 | 23-01-2010 11:15 |
| Remove Child auf einem Button | wasp | ActionScript 3 | 11 | 11-01-2010 16:18 |