| |||||||
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) |
| Zurückgekehrt Registriert seit: Nov 2005 Ort: Berlin
Beiträge: 84
| gewünschte Array Elemente überspringen?
Hi Mädels und frohe Ostern ,nehmen wir mal das Beispiel hier aus dem Board, welches dazu dient, mehrere häufig mit gleichen Props zu verändernde mc's in ein Array verpacken zu können und mit nur EINER Anweisung abarbeiten zu können, statt mit hundert gleichen Anweisungen hantieren zu müssen: PHP-Code: Und genau das ist die Frage, nämlich wie?: Gibt es eine Möglichkeit innerhalb der Anweisung über die function propChange (siehe oben) ein Element des Arrays zu umgehen? Muss dafür eine Tür in der Funktion programmiert werden, oder gibt es da einen direkten Trick innerhalb einer Anweisung? Also am obigen Beispiel mal nachgezeichnet: Ich würde wollen das diese Funktion in einigen Fällen einzelne btnhover's nicht _alpha=0 setzt, ohne das aber in hundert zeilen schreiben zu müssen. Da würd ich das ganze gern genauso wie oben schreiben wollen, nur mit der Möglichkeit als vierten Parameter der Funktion ein Element nennen zu dürfen was umgangen wird oder bei der Anweisung direkt sagen zu können {außer mc nummer 3...} oder so... Lieben Dank und Lieben Gruß
__________________ Grüße aus Berlin. PS: Wenn ihr Problematiken zu Actionscript mit PHP habt, bitte involviert mich. Da interessiert mich alles. Geändert von c8n8b1s (26-12-2005 um 02:51 Uhr) |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
natürlich mit einer if-abfrage. ansonsten (weiss ja nicht, was du genau machen willst): in dem array sind ja nur zeiger auf die mc's und nicht die mc's selbst. somit ist der speicherbedarf gering, wenn man die mc's in mehrere arrays zusammenfasst. z.b. frames = [bigframe, bigframe2]; hovers = [btnhover1, btnhover2, btnhover3, btnhover4]; //alle=[infotxt,bigframe,bigframe2,btnhover1,btnhover2,btn hover3,btnhover4]; // bzw. alle = [infotxt].concat(frames, hovers); nobtns=[infotxt].concat(frames); // usw.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (26-12-2005 um 04:51 Uhr) |
| | |
| | #3 (permalink) |
| Zurückgekehrt Registriert seit: Nov 2005 Ort: Berlin
Beiträge: 84
|
If abfrage war natürlich auch mein erster Gedanke, aber das finde ich nicht elegant, da jedes der Elemente (oder nenn es Werte, Instanzen, whatever) in dem Array mal bei einem propChange der für alle ausgeführt werden soll ausgelassen wird, nur jedesmal ein Anderes. Deswegen find ich da jedes mal eine if Abfrage sehr aufwendig. Und Verschiedene Arrays um Instanzen temporär auszugrenzen machen da auch kein Sinn, denn dann bräuchte ich genauso viel Arrays wie Instanzen nur das imer eine Instanz fehlt und das macht nicht wirklich Sinn. Es gibt in dem SInn keine Gruppen, weil jedes einzelen Element(Instanz) wird mal die Ausnahme sein... gibt es nicht sowas wie: ??? PHP-Code: Und ich suche jetzt quasi den Trick mit dem but"c" ![]() Oder konstruktive Gegenfrage zu concat, obwohl hier wohl eher pop/push: PHP-Code: ![]() ... Und da das ja alles immer inerhalb einer this.onRollOver Eventbedingung von einem der besagten Instanzen vorkommt und immer genau die Instanz ausgegrenzt werden muss, könnte man das Element auch jedesmal mit "this" als Definition genau ausgrenzen.... Ich weiß nicht, aber für mich riecht das gewaltig nach einer richtig schlanken genialen "Klasse" ! .... puh aber wie ?????????
__________________ Grüße aus Berlin. PS: Wenn ihr Problematiken zu Actionscript mit PHP habt, bitte involviert mich. Da interessiert mich alles. Geändert von c8n8b1s (26-12-2005 um 05:40 Uhr) |
| | |
| | #4 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
dein '..but"c"..' ist halt nur ein if-test und den musst du selbst erstellen. Code: function only_me(array,eigensch, wert) {
for (var n in array) {
if (array[n] != this) {
array[n][eigensch] = wert;
} } }
function propChange(array, ex, eigensch, wert) {
for (var n in array) {
if (array[n]._name.indexOf(ex)<0) {
array[n][eigensch] = wert;
} } }
setalpha = new Array(infotxt, bigframe, bigframe2, btnhover1, btnhover2, btnhover3, btnhover4);
propChange(setalpha, "btn", "_alpha", 0);
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (26-12-2005 um 05:45 Uhr) |
| | |
| | #5 (permalink) | |
| Zurückgekehrt Registriert seit: Nov 2005 Ort: Berlin
Beiträge: 84
| Zitat:
Du bist genial!!!! Da meinte ich mit dem Zusatz Paramter in der PropCHange FUnktion. Ich uwsste nur nicht wie!!!! 100000000000000 Dank ![]() Ganz Dollen Dank und Grüße
__________________ Grüße aus Berlin. PS: Wenn ihr Problematiken zu Actionscript mit PHP habt, bitte involviert mich. Da interessiert mich alles. | |
| | |
| | #7 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
siehe edit: name => _name wollte nur testen, ob du mitdenkst ;-)
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #8 (permalink) |
| Zurückgekehrt Registriert seit: Nov 2005 Ort: Berlin
Beiträge: 84
|
:-) nenene spatzerl das hatte ich geändert uind wenn du genau hinsiehst hatte ich in dem Post dass das net klappt auch name und NICHT _name zu stehn , und im übrigen ist das was das script tut völlig klar und wenn du möchtest erläutere ich es auch gern zum Beweis. indexOf kenn ich bereits von Java.Aber indexOf funktionuckelt hier aus irgend einem Grund nicht. Habs auch in AS noch nie benutzt. Dafür hab ich " != ex "an die Stelle gesetzt und das funzt... ![]() LG
__________________ Grüße aus Berlin. PS: Wenn ihr Problematiken zu Actionscript mit PHP habt, bitte involviert mich. Da interessiert mich alles. Geändert von c8n8b1s (26-12-2005 um 06:37 Uhr) |
| | |
| | #9 (permalink) |
| Zurückgekehrt Registriert seit: Nov 2005 Ort: Berlin
Beiträge: 84
|
Aber trotzdem nochmal lieben Dank für den Denkanstoß, so hab ich wenigstens das Gefühl auch noch was dazu beigetragen zu haben, hehehe PS: Ich versuch das ganze jetzt mal für die Anwendung von nem prototype anstelle von _alpha umzumodeln. Ich fürchte da kommen wieder ungeahnte probs auf mich zu... Achso und damit alle was davon haben, Hier für alle anderen wie ich es jetzt nutze und wie es funktioniert (mein dank geht an hgseib): PHP-Code:
__________________ Grüße aus Berlin. PS: Wenn ihr Problematiken zu Actionscript mit PHP habt, bitte involviert mich. Da interessiert mich alles. Geändert von c8n8b1s (26-12-2005 um 06:46 Uhr) |
| | |
| | #10 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
'..das net klappt auch name und NICHT _name zu stehn..' eben das ist ja falsch (und wurde von mir nachträglich korrigiert). die eigenschaft heisst: _name '..Dafür hab ich " != ex "an die Stelle gesetzt und das funzt..' ich hatte einen teil des namens übergeben (womit ganze gruppen ausgeschlossen werden können), du den zeiger auf ein objekt. das erfordert natürlich einen anderen test. solange du keine class'e oder prototype machst, dann gehts auch so, damit in der funktion this auch this ist (anstelle von ex): propChangeX.call(das_mc ,all,_alpha,0); function propChangeX(array, eigensch, wert) { for (var n in array) { if (array[n] != this) { array[n][eigensch] = wert; } } }; aber da kann man sich noch 10.000 andere varianten einfallen lassen.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (26-12-2005 um 07:07 Uhr) |
| | |
| | #11 (permalink) |
| Zurückgekehrt Registriert seit: Nov 2005 Ort: Berlin
Beiträge: 84
|
hehehe ok --- jetzt fühl ich mich nass gemacht hm dass mit dem _name hab ich nicht gerafft. Aber eigentlich wollt ich damit nur sagen dass ich nicht am copy&pasten bin, sondern versuche die sachen auf mein project anzupassen und zu verstehn, denn sonst komm ich da nich weit. Denn meine Fragen sind schon sehr allgemein gehalten, weil ich es verstehn muss um es anzuwenden, und kommen immer dann wenn ich den Wald vor lauter Bäumen nicht sehe. Zum Beispiel in diesem Fall kämpf ich jetzt seid unserem letzten Post an dem Problem dass der Prototype fürs Faden den ich benutze offensichtlich nicht mit Array funktioniert. Somit steh ich wieder bei null und starre den Prototype an um mir einfallen zu lassen was ich ändern muss. Vieles aus PHP was ich als Sonnags-PHPler kenne kann ich hier nicht nutzen. habs jetzt so gelöst obwohl ich das auch nicht elegant finde: PHP-Code:
__________________ Grüße aus Berlin. PS: Wenn ihr Problematiken zu Actionscript mit PHP habt, bitte involviert mich. Da interessiert mich alles. Geändert von c8n8b1s (26-12-2005 um 07:36 Uhr) |
| | |
| | #12 (permalink) |
| Zurückgekehrt Registriert seit: Nov 2005 Ort: Berlin
Beiträge: 84
|
hab jetzt nocheinmal die _name.indexOf Variante versucht zu verstehn und anzuwenden auf den Fade Protoype und einem 2-dimensionalen Array: nav(1,2,3,4); nav[1] =...2=... , und so weiter und dann propChange (nav, nav[1], pt) (pt anstelle von eigensch und wert, auch in der funktion propChange geändert)aber da blendet die gesamte stage aus. So wie auch schon vorher, als ich sagte dass es nicht funzt. Also hatte das mit dem _name oder name wohl nichts zu tun, sondern ich habe woanders noch einen Fehler...
__________________ Grüße aus Berlin. PS: Wenn ihr Problematiken zu Actionscript mit PHP habt, bitte involviert mich. Da interessiert mich alles. |
| | |
| | #13 (permalink) |
| Zurückgekehrt Registriert seit: Nov 2005 Ort: Berlin
Beiträge: 84
|
so wird die ganze bühne ausgeblendet: PHP-Code: PHP-Code: Lieben Dank und Lieben Gruß
__________________ Grüße aus Berlin. PS: Wenn ihr Problematiken zu Actionscript mit PHP habt, bitte involviert mich. Da interessiert mich alles. |
| | |
| | #14 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
"..indexOf(ex)!= true.." bitte die befehle und deren parameter im handbuch/flash hilfe nachlesen ansonsten hilft es ein paar trace's ein zu bauen und der debugger --------- anhang: 3 muster
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (26-12-2005 um 16:53 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |