| |||||||
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) |
| gelegenheitsflasher Registriert seit: Jul 2001 Ort: zu hause
Beiträge: 68
|
Hallo, ich bearbeite gerade mein erstes größeres Projekt in AS3 und stoße gerade an eine Verständnisgrenze, bin dementsprechend ziemlich frustriert. Was ich habe: Ich habe mehrere ineinander verschachtelte Reiternavigationen gebaut. Jeder Reiter ist ein MC mit weiteren Unter-MCs, inklusive der Animation für den Reiterwechsel. Soweit kein Problem. Ich klicke die Reiter an, sie ändern ihre Position, allerdings nur einmal, danach gehts nicht mehr. Keine Ahnung wieso... Weiterhin will ich ein paar Funktionen ausführen, was auch (noch) nicht geht, da kommen Fehlermeldungen. Was ich will: Ich will, wenn ich einen beliebigen Reiter anklicke, dass sich alle anderen Reiter in ihrer Anordnung nacheinander wie am Anfang sortieren, und dass sich dann der angeklickte Reiter oben drauf setzt. Dann würde ich gerne eine globale Funktion ausführen und bestimmte Textfelder innerhalb des Reiters mit Arraywerten füllen... Was ich nicht kann: Ich weiß nicht, wie ich die Instanz-Namen ansprechen soll, in Flash 8 konnte ich alles machen, was ich wollte, hier (CS5) stehe ich da wie ein Anfänger... Es gibt eine endliche Zahl an Instanznamen, denen ich mit setChildIndex() einen Wert zuweisen will, das mache ich für jeden Reiter momentan so: Code: addEventListener(Event.ENTER_FRAME, fl_EnterFrameHandler);
function fl_EnterFrameHandler(event:Event):void
{
(parent as MovieClip).setChildIndex(this, parent.numChildren-1);
} Ich bin gerne bereit zu lernen, aber das Konzept von AS3 verstehe ich nicht. Tutorialseiten habe ich mir angesehen, Adobe-Web ebenfalls konsultiert, aber englisch ist nicht meine Stärke und ich drehe mich im Kreis. Was ich brauche: Ich bitte um eine kurze, verständliche Erklärung, wie ich in AS3 Instanzen anspreche, wie ich in der Hierarchie vorwärts und rückwärts denke (früher ging das mal mit "parent" oder dem Pfad innerhalb der MC-Instanznamen) und wie ich einen String so zu einem Instanznamen konvertieren kann, dass ich damit weiterarbeiten kann. Ich bedanke mich und hoffe auf Hilfe |
| | |
| | #2 (permalink) |
| brand new user Registriert seit: May 2002 Ort: Laimbach 6 1/2
Beiträge: 16.884
|
Du möchtest im Prinzip, den jeweilig Aktiven MovieClip nach oben hohlen, richtig? Warum setzt Du da auf EnterFrame?
__________________ Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake! "Wer tanzen will, muß erst gehen lernen" |
| | |
| | #3 (permalink) | |
| gelegenheitsflasher Registriert seit: Jul 2001 Ort: zu hause
Beiträge: 68
| Zitat:
Weil das "Hervorholen" erst an einer bestimmten Stelle der Animation passieren soll, nicht bereits, wenn ich auf den MC klicke. | |
| | |
| | #4 (permalink) | |
| brand new user Registriert seit: May 2002 Ort: Laimbach 6 1/2
Beiträge: 16.884
| Zitat:
Wenn ja erzähl mal wo das passieren soll, wenn nicht auch
__________________ Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake! "Wer tanzen will, muß erst gehen lernen" | |
| | |
| | #5 (permalink) |
| gelegenheitsflasher Registriert seit: Jul 2001 Ort: zu hause
Beiträge: 68
|
So wie es aussieht, habe ich es wohl nicht exakt genug erklärt: Es gibt auf der Bühne ein MC namens "gui", der beinhaltet 7 Reiter-MCs namens "qa_mc", "qb_mc" usw. Innerhalb dieser MCs befinden sich weitere Elemente (Schaltflächen, Texte, Bilder). Damit der Effekt des "Herausziehens" eines Reiters realistisch erscheint, muss ich ja alle Elemente animieren, also geschieht das hier: Diese MCs werden auf einer Zeitleiste animiert, aber erst, nachdem sie angeklickt wurden. Ja, ein klassisches Tween. Ich würde gerne eine globale Funktion definieren, wo alle meine Aktionen dieses Ereignis betreffend, geschehen können. Das habe ich so gemacht: Code: package {
public class MyGlobal {
public static var Liste_Hauptreiter:Array = new Array("qa_mc","qb_mc","qc_mc","qd_mc","qe_mc","qf_mc","qg_mc");
public static var Liste_Inforeiter:Array = new Array("bild_mc","info1_mc","info2_mc","exit_mc");
public function resetDepth()
{
trace("jetzt wird resettet!");
//setChildIndex(qa_mc,0);
// etc.
}
}
} Code: addEventListener(Event.ENTER_FRAME, MyGlobal.resetDepth); at flash.events::EventDispatcher/addEventListener()"). Was hat das alles zu bedeuten? Bin echt ratlos... hab sicher einen globalen Denkfehler... ich brauch mal einen Anschubser in die richtige Richtung bitte. |
| | |
| | #6 (permalink) |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
|
Die Fehlermeldung kommt daher, dass Du versuchst, eine Instanzfunktion direkt über ihre Klasse aufzurufen und diese zudem keine Parameter erwartet. Lösung:
__________________ 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! |
| | |
| | #7 (permalink) | |
| gelegenheitsflasher Registriert seit: Jul 2001 Ort: zu hause
Beiträge: 68
| Zitat:
edit: das Einfügen von event:Event macht Fehler (Typ wird nicht erkannt), füge ich static ein kommt das: "ArgumentError: Error #1063: Nicht übereinstimmende Argumentzählung für MyGlobal$/resetDepth(). 0 erwartet, 1 erhalten." Ich würde mich sehr freuen, wenn du mich mit einem besseren Ansatz unterstützen könntest... Geändert von rHamsys (26-04-2011 um 11:29 Uhr) | |
| | |
| | #8 (permalink) |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
| Generell sollte man:
__________________ 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 (26-04-2011 um 11:39 Uhr) |
| | |
| | #9 (permalink) | |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
| Zitat:
PHP-Code:
__________________ 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! | |
| | |
| | #10 (permalink) |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
|
Hier mal ein AlternativVorschlag (Achtung ungetestet!): PHP-Code:
__________________ 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 (26-04-2011 um 11:50 Uhr) |
| | |
| | #11 (permalink) | |||
| gelegenheitsflasher Registriert seit: Jul 2001 Ort: zu hause
Beiträge: 68
|
Ich danke dir, allerdings bleiben eine Menge Fragen... Zitat:
Zitat:
Zitat:
Hehe, "nur", ja... Fast alles, was ich aufrufe in Flash, macht Fehler, intuitiv war das früher mal, jetzt nicht mehr. Was schlägst du denn vor? Ich hab keine Idee, wie das gehen kann. Ich spiele eine Animation ab und will, dass im Moment von Frame 3 sich etwas ändert, teilweise in anderen Moviclips und Ebenen, die ich aber mit "parent" usw. auch nicht mehr ansprechen kann. Die Funktionslisten bei Adobe helfen mir leider nicht weiter in diesem Punkt. | |||
| | |
| | #12 (permalink) |
| gelegenheitsflasher Registriert seit: Jul 2001 Ort: zu hause
Beiträge: 68
| Ich danke dir, ich teste das mal. Die Frage ist nur noch, wo genau schreibe ich das denn rein (ich merke grad, dass aus Flash ein völlig anderes Programm geworden ist)? edit: "ReferenceError: Error #1065: Variable qa_mc ist nicht definiert." Geändert von rHamsys (26-04-2011 um 12:02 Uhr) |
| | |
| | #13 (permalink) | |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
| Zitat:
So wild ist's jetzt auch wieder nicht: Zeitleiste und ActionScript-Fenster sind immer noch da, wo sie schon immer waren. Dann hast Du entweder die Instanz anders benannt, oder qa_mc existiert auf dem Frame noch nicht, auf dem jetzt das Script steht.
__________________ 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! | |
| | |
| | #14 (permalink) | ||
| gelegenheitsflasher Registriert seit: Jul 2001 Ort: zu hause
Beiträge: 68
| Zitat:
Zitat:
Allerdings sehe ich keinen Effekt und ich erkenne (noch) nicht, wo denn eigentlich der Effekt ausgelöst wird, wenn ich auf einen Reiter klicke. Ich glaube, wenn ich das begreife, hat sich der Tag schon gelohnt Kannst du mir noch ein bisschen weiter helfen durchzublicken?Achso, sollte ich mal die Datei dranhängen? | ||
| | |
| | #15 (permalink) |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
| Beim Klick auf einen der Reiter wird die Funktion activiereReiter aufgerufen und sollte diesen reiter nach vorne bringen. Wenn Du keinen Effekt siehst, bau Dir mal ein trace in die Funktion und lass Dir so ausgeben, ob sie überhaupt aufgerufen wird und ob dort reiter belegt ist.
__________________ 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! |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| array, as3, instanzname, setchildindex, string |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Instanzname aus Array verwenden = Alptraum? | xanku | ActionScript 3 | 13 | 08-03-2011 19:38 |
| Instanzname in Variable weiter verwenden | rohweds | ActionScript 3 | 1 | 14-05-2009 10:59 |
| instanzname | llcoola-02 | Flash Einsteiger | 2 | 16-07-2007 20:40 |
| Arrayeintrag > Instanzname Vererbungsproblem | axl.r | Flash Einsteiger | 5 | 21-09-2006 11:37 |
| Ordner zählen, ArrayEintrag löschen... | moneyman | Flash und Datenbanken | 4 | 03-03-2002 19:07 |