| |||||||
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: Aug 2001
Beiträge: 455
| welcher Button war aktiv
Hi Zusammen! Ich steh vor einem kompletten Rätsel und ich hab keine Ahnung wie ich das lösen soll! Also ich hab nehmen wir mal an 3. Buttons So nun ist der erste aktiv (wie das auch immer gehen soll) Dann klicke ich auf den 2. Button. Wie weiß ich nun welcher Button vorher aktiv war? Warum das? Es soll erst eine Aktion ausgeführt werden, wenn ich einen anderen button drücke. Kann man aber glaube ich nicht anders lösen, denn die Buttons werden dynamisch erstellt, d.h. es kann 5 oder 15 buttons geben. freue mich auf jeden Anregung besten dank markus
__________________ S&G: wir alle hier auf der bühne sind nur den wimpernschlag einer libelle vom vollrausch entfernt |
| | |
| | #3 (permalink) |
| brand new user Registriert seit: May 2002 Ort: Laimbach 6 1/2
Beiträge: 16.884
| ActionScript:
__________________ Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake! "Wer tanzen will, muß erst gehen lernen" |
| | |
| | #4 (permalink) |
| Level up Registriert seit: Jun 2001 Ort: Bocholt
Beiträge: 4.155
|
es geht ja wohl in erster Linie darum, den gedrückten Button aktiv und den vorher aktiven inaktiv zu schalten... dafür bietet sich die Funktion watch() an, ein kleines Beispiel, erstelle einen mc mit 2 Frames (Frame1=inaktiv,Frame2=aktiv) mit einem stop() in frame1, gib ihm den Instanznamen 'mc0' und dann nur noch folgendes script in die Hauptzeitleiste: ActionScript:
Gruß Alois
__________________ -Spuckt mir auf den Stuhl, ich will im Grünen sitzen- |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Aug 2001
Beiträge: 455
|
danke ich hab es geschafft. Es war im Endeffekt genau das was ihr beide gemacht habt, vereint. besten dank markus
__________________ S&G: wir alle hier auf der bühne sind nur den wimpernschlag einer libelle vom vollrausch entfernt Geändert von markus78 (19-01-2004 um 22:13 Uhr) |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Aug 2001
Beiträge: 455
|
so jetzt hab ich das ganze nochmal neu gecodet! und ich komm einfach nicht drauf, woran das liegen kann. Button1 ist aktiv die dazugehörigen LB sind auch aktiv. User hat etwas in die Listboxen eingetragen. Es geht mir darum, der User soll, wenn er auf einen andern Button klickt dort wieder etwas in die Listboxen eingeben können. Das ist nicht das Problem. Wenn er danach nochmals auf den Button 1 klickt, dann soll all das wiederkommen, was er bevor er auf button 2 geklickt hat, eingegeben hat. Bei if (this["welcher"+z]==2) wird überprüft, ob der den Button schon mal gedrückt hat, das funktioniert auch einwandfrei. Also bräuchte ich dann nur noch das Script schreiben, damit er die Einträge wieder zurück in Listboxen schreibt. ABer das Problem ist, wenn ich das unter dem else-Zweig dazuschalte, dann wird nicht mehr beim erstenmal gecheckt, ob der Button schon mal gedruckt wurde. Versteh ich aber nicht wieso! Könnte sich das wer mal von euch bitte ansehen? ActionScript:
was mir auch noch gerade eingefallen ist, ich hab keine Ahnung, wie ich den gefüllten Array:"_root["Skz"+druck] in der if (this["welcher"+z]==2) Schleife verwenden kann. besten dank markus
__________________ S&G: wir alle hier auf der bühne sind nur den wimpernschlag einer libelle vom vollrausch entfernt Geändert von markus78 (20-01-2004 um 13:42 Uhr) |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Aug 2001
Beiträge: 455
|
könnte das was helfen, wenn man das mit einer fuction oder prototype realisiert. Leider kenn ich mich bei beiden dingen nicht so aus. Aber hätte das einen Sinn?
__________________ S&G: wir alle hier auf der bühne sind nur den wimpernschlag einer libelle vom vollrausch entfernt |
| | |
| | #8 (permalink) | |
| Level up Registriert seit: Jun 2001 Ort: Bocholt
Beiträge: 4.155
|
alles was man machen kann immer geht auch ohne funktionen/prototypen funktionen und prototypen helfen das script übersichticher mache, würden also in Deinem Fall schon helfen diesen chaotischen spaghetticode zu entschlüsseln, wenn Du genau wüsstest was Du tust....allerdings zeigt mir das script schon, daß es per copy&paste entwickelt wurde, z.B. auch diese Aussage: Zitat:
...was mir nach Durchsicht des scripts immer noch nicht klar ist, was soll das Ding überhaupt machen, da werden arrays erstellt und hin- und hergeschoben...irgendwas soll dann scheinbar auch noch remote eingefügt werden...mir scheint da noch einiges an script zuviel rumzuschwirren...mal ein paar direkte Fragen: was soll das mit _root.kurse0-10....ist das abhängig von der Menge der Schaltflächen ,oder was, und warum benutzt Du da kein zweidimensinales array ??? Das hier: _root.kurse0.length=0; ...kann überhaupt nicht funktioniern, length ist eine Eigenschaft und keine variable... wofür brauchst Du eigentlich das gedruckt-array???...musst Du nur wissen ob die Schaltfläche einmal gedrückt wurde (und danach ist egal wie oft) oder was, dann bist Du allerdings einen äusserst komplizierten Weg gegangen das kann auch nicht gehen: if(gedruckt[i].indexOf(welcher,0) > -1) { this["welcher"+z]++ trace ("welcher+z "+this["welcher"+z]) //trace("TEST "+test[i]) if (this["welcher"+z]==2){ trace ("JETZT"+gedruckt[i]) this["welcher"+z]=0 gedruckt.pop() .... die variable z wird nirgendwo gesetzt... ....das solls erstmal sein, also versuch mal zu beschreiben was ablaufen soll, dann kann ich vielleicht auch helfen... Gruß Alois
__________________ -Spuckt mir auf den Stuhl, ich will im Grünen sitzen- Geändert von Alois (21-01-2004 um 07:43 Uhr) | |
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: Aug 2001
Beiträge: 455
|
Hallo Alois! Also es geht darum, es werden dyn. Buttons erzeugt, wieviele, das hängt davon ab, wieviele der User vorher ausgewählt hat. So nun hat er wie in diesem Beispiel. 5 Buttons ausgewählt. (also das passt schon mal mit dem [mc+i] Zu jeder Schaltfläche kann es bis zu 8 Listboxen geben. Die werden aber nicht dynamisch erzeugt, die werden nur von unsichtbar auf sichtbar geschalten. Denn anderes ist es, für mich auf jeden Fall, zu kompliziert. (wird aber hier nicht berücksichtigt, denn wenn es für 2 Listboxen funktioniert, dann funtkioniert es für 8 genauso) Die Schaltfläche Nummer eins ist am Anfang aktiv. So nun trägt der User in die Listboxen "Werte" ein. Die nur für den button 1 gelten. Wenn der User nun auf den zweiten Button klickt, sind alle Listboxen wieder leer. und er kann auch da wieder etwas eintragen. Das wiederrum nur für Button 2 gilt. usw..... Klickt er wieder auf einen Button, bei dem er schon die Werte eingetragen hat, dann soll all das wieder drinnen stehen, was er vorher eingegeben hat. DAs wäre die Theorie. __________________________________________________ _ Zu deinen Fragen: Jede Listbox ist gleich einem Array mit dem Namen kurse. Da ich den aber überall ansprechen wollte, dachte ich mir ich mach das mit _root. All die einzelnen Kurse -Arrays (_root.kurse0-_root.kurse7) werden dann in einen 8 dimensionale Array gespeichert. 8dim. weil es 8 Listboxen sind. Und der ganze Inhalt von dem 8 dim. Array gilt dann für einen Button. D.h. also z.b. Button1= [[_root.kurse0],....,[_root.kurse7]] was gleichbedeutend ist Button1= (Inhalt Listbox0),....,(Inhalt Listbox 7) den gedrückt Array brauche ich, damit ich weiß, welchen der Buttons ich schon gedrückt habe. Denn es kann ja sein, dass er die buttons 1,2,3 drückt und dann vielleicht erst wieder auf den Button1 drückt. _root.kurse0.length=0; funktioniert, setzt den Inhalt des Arrays wieder auf leer. Ich sprech ja hier einmal von 8 listboxen und einmal nur von 2, wenn es dich verwirrt hat, dann hier nochmal kurz die Erklärung. 8Listboxen werden es im Endeffekt sein, hier sind es aber nur 2. Denn wenn es für 2 funktioniert, dann funktioniert es später auch für 8 Würde mich über eine Anregung, wie ich das lösen könnte freuen. besten dank markus P.S.: ich hoffe ich hab es einigermassen verständlich erklärt.
__________________ S&G: wir alle hier auf der bühne sind nur den wimpernschlag einer libelle vom vollrausch entfernt |
| | |
| | #10 (permalink) | |||
| Level up Registriert seit: Jun 2001 Ort: Bocholt
Beiträge: 4.155
| Zitat:
bigArray=[[[[[[[[]]]]]]]]; ....ich denke nicht, daß du sowas brauchst Zitat:
Zitat:
...ich setz mich dann jetzt mal ran und scripte Dir mal ein Beispiel... also bis gleich Gruß Alois
__________________ -Spuckt mir auf den Stuhl, ich will im Grünen sitzen- | |||
| | |
| | #11 (permalink) |
| brand new user Registriert seit: May 2002 Ort: Laimbach 6 1/2
Beiträge: 16.884
|
So ich glaub ich check zwar immer noch net was geht!! aber eine array durchsuch funktion kann ich Dir liefern!! ActionScript:
__________________ Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake! "Wer tanzen will, muß erst gehen lernen" Geändert von RustyCake (21-01-2004 um 15:14 Uhr) |
| | |
| | #12 (permalink) | ||||
| Neuer User Registriert seit: Aug 2001
Beiträge: 455
| Zitat:
Zitat:
Zitat:
Zitat:
markus
__________________ S&G: wir alle hier auf der bühne sind nur den wimpernschlag einer libelle vom vollrausch entfernt | ||||
| | |
| | #13 (permalink) |
| Level up Registriert seit: Jun 2001 Ort: Bocholt
Beiträge: 4.155
|
So fertig, es hat doch noch etwas gedauert, erst hatte ich selbst noch was anderes zu tun, dann musste ich mich erstmal in die Funktionen der listbox-Komponente einlesen und dann hab ich es noch ordentlich auskommentiert. Möglicherweise wolltest Du mit dem gedrückt-Array was ähnliches machen, wie das was ich jetzt mit dem kurs_index-array mache, da merkt sich flash nämlich 'was' innerhalb einer Listbox gewählt wurde. Ausserdem habe ich einen Auswerten Button zum Testen eingefügt,... ...uff, Datei zu gross, dann eben das script: ActionScript:
__________________ -Spuckt mir auf den Stuhl, ich will im Grünen sitzen- Geändert von Alois (21-01-2004 um 19:44 Uhr) |
| | |
| | #14 (permalink) |
| Neuer User Registriert seit: Aug 2001
Beiträge: 455
|
Danke! Wow, ich bin total sprachlos! Ich kanns nicht glauben. Danke nochmal. Ich werd mir das jetzt mal ansehen, und werd es versuchen, dass es unterschiedliche einträge in der Listbox sind. Dann werd ich das mal in das ganze Projekt einbauen, und wenn es noch probleme gibt, dürfte ich mich nochmal an dich wenden? besten dank markus
__________________ S&G: wir alle hier auf der bühne sind nur den wimpernschlag einer libelle vom vollrausch entfernt |
| | |
| | #15 (permalink) | |
| Level up Registriert seit: Jun 2001 Ort: Bocholt
Beiträge: 4.155
| Zitat:
mit kurse0=[]; sollte das bestehende array überschrieben werden und somit der übriggebliebeneSpeicherbereich den das array nutzte wieder freigegeben werden mit kurse0.length=0; wird einfach der Wert der (offensichtlich doch als variable definierte) von length verkürzt, somit sollten die Werte die in den arrayelementen lagen ohne Bindung weiter im Systemspeicher rumschwirren, das dürfte, wenn Du es oft genug machst zum Systemabsturz führen.. ...allerdings weiss ich nicht ob sich flash wirklich so verhält, um sicher zu gehen, daß der Speicher freigegeben wird müsste man es wohl so machen: delete(kurse0); kurse0=[]; Gruß alois
__________________ -Spuckt mir auf den Stuhl, ich will im Grünen sitzen- | |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |