| |||||||
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) |
| scriptvermurkser Registriert seit: Apr 2003
Beiträge: 269
| Script-Murks?
Also, ich weiß nicht. Ich hab da mal was gescriptet. Und ich frage mich, ob das nicht totaler Murks ist und viel einfacher und übersichtlicher ginge. Das Problem bei mir ist, dass ich meine Scripte immer Schrittweise verfasse: also erst mal muss das funktionieren und dann merke ich, dass ja dann was anderes auch funktionieren muss und dann, dass hier noch was ins Script rein muss, damit... Ich habe also vorher nicht die Vorstellung, wie das Script (in etwa) aussehen muss. Und ich glaube dadurch werden meine Scripte oft recht komplizier und durcheinander, und bestimmt auch manchmal rechenaufwendiger als nötig. Also es war folgendes umzusetzten: Eine Deutschlandkarte in PLZ-Gebiete aufgeteilt. Jedes PLZ-Gebiet ist ein But. Bei Klick auf den But erscheinen die entsprechenden Daten (PLZ, Ort, Tel., Nr.). Die Daten sind in txt-Dateien gespeichert, die jeweils "Array + 1.Nr.d.PLZ" heißen, und zwar so: PLZ1, Ort1, Tel.1, Nr.1; PLZ2, Ort2, Tel.2, Nr.2 ... und hier ist mein Script: ActionScript:
und nu sacht ma was dazu und wenn der eine oder andere das/was aus dem Script gebrauchen kann, würds mich auch freun Geändert von SwKy (03-06-2005 um 09:44 Uhr) |
| | |
| | #2 (permalink) |
| oEF(etischist) Registriert seit: Dec 2003 Ort: muc
Beiträge: 664
|
also: mir geht es oftmals genau so. Etas, hat man bei der Überlegung vergessen, wird dann noch schnell reingebaut... und so wächst der Code! Du könntest so etwas vielleicht in funktionen auslagern, dann werden deine Blöcke nicht zu gross. Aber da Du viel kommentiert hast (weit mehr, als der durchschnitt, würde ich sagen -> *lob*) ist eigentlich alles recht gut lesbar. Einzig: warum machst Du ein onEnterFrame? Um deine textfelder zu erstellen währe Doch eine for-Schleife sinnvoler? oder willst DU das die Felder sichtbar nacheinander erstellt werden? Funktionalität habe ich übrigends nicht geprüft, sondern nur generelle Verständlichkeit. meinArray ist vielleicht nicht die geglückteste Bezeichnung für eine Variable ![]() grüße, solo |
| | |
| | #3 (permalink) |
| scriptvermurkser Registriert seit: Apr 2003
Beiträge: 269
|
funktionieren tuts @soloFlash: ach so, eine for-schleife läd erst alles und zeigt es dann? Ist eine For-schleife weniger rechenintensiv? Dass man es sieht, wenn sich das ganze aufbaut, find ich ok, dann sieht man wenigstens, das was passiert, aber es dauert schon recht lang. |
| | |
| | #4 (permalink) |
| oEF(etischist) Registriert seit: Dec 2003 Ort: muc
Beiträge: 664
|
Hi, onEnterFrame: ist eine Art-Schleife, die bei jedem Frame (abhängig von Framezahl pro Sekunde, und von der Belastung des Rechners) durchlaufen wird. Solange bis Du es mit delete löschst, oder überschreibst. Damit kannst Du zeitliche Abläufe gut darstellen. for-schleifen: laufen innerhalb eines Frames ab, und zwar komplett. Der Anwender sieht nur das Endergebnis. Über rechnerleistung kann ich nichts sagen ;( Unter "Aufbau" verstehe ich eher, dass die felder irgendwie nett animiert auf der bühne erscheinen, nicht dass sie einzeln kreiert werden. lies Dir mal was zu onEnterFrame durch. grüße, solo |
| | |
| | #5 (permalink) |
| scriptvermurkser Registriert seit: Apr 2003
Beiträge: 269
|
bin ich grad zu blöd??? wollte das mit der for-Schleife mal ausprobieren. Hab das jetzt so gemacht: ActionScript:
nicht grad elegant, aber funktionieren müßte es doch, oder? mir wird "eigentlich zu Ende" getraced, also wird f doch auf 2 gesetzt, das müsste die Schleife doch beenden, oder? tut es aber nicht. Flash fragt mich dann irgendwann, ob ich abbrechen will, oder lieber warten, bis der Rechner abstürzt. |
| | |
| | #6 (permalink) |
| oEF(etischist) Registriert seit: Dec 2003 Ort: muc
Beiträge: 664
|
wie nett, das Flash frägt ![]() for(<startwert setzen>;<Abbruchbedingung>;<Wertveränderung>) in Deinem fall so (ohne gewähr, schnell hingeklatscht von mir): for(x=1;x<=meinArray.length*4;x++) ach ja, die Zeile mit "x = x+1" muss dan raus, ebenso Deine Abbruchabfrage unten im Coding. Vielleicht mal mit Schleifen beschäftigen (DO, WHILE, FOR)?!?! wenn probleme, dann fragen. solo Geändert von soloFlash (03-06-2005 um 14:14 Uhr) |
| | |
| | #8 (permalink) | |
| scriptvermurkser Registriert seit: Apr 2003
Beiträge: 269
| Zitat:
Aber wo der Unterschied zwischen den drein (do,while, for) ist, außer in der Art wie sie angewendet werden, hab ich nicht verstanden. Hier nun mein Schleifenbericht: for: geht bei nicht so vielen Textfeldern sehr schnell (schneller als EnterFrame); bei vielen Textfeldern dauert es länger als EnterFrame und will auch dauernd abbrechen. mit while ist es genauso. onEnterFrame braucht zwar bei wenigen Textfeldern etwas länger, ackert das ganze aber brav bis zum Schluß durch. Ergo: ich muss onEnterFrame lassen, oder hat jemand eine andere Idee? Oder sollte man so was gar nicht mir Flash lösen? Geändert von SwKy (03-06-2005 um 15:38 Uhr) | |
| | |
| | #9 (permalink) |
| oEF(etischist) Registriert seit: Dec 2003 Ort: muc
Beiträge: 664
|
DO wird mindestens einmal durchlaufen, weil die Prüfung immer am Ende der Schleife ist, WHILE ist, analog FOR, eine Schleife, die am ASnfang immer prüft. Alles klar? wenn nicht auchegal. FOR reicht i.d.R. volkommen aus. so, oef ist schneller? hmmm, warum, was bremst dich? wieviele durchläufe hast du denn? solo |
| | |
| | #11 (permalink) |
| oEF(etischist) Registriert seit: Dec 2003 Ort: muc
Beiträge: 664
|
450 durchläufe??? Was machst Du da??? Wenn dein Film mit 30fps läuft, dann benötigst Du aber 450/30=15 Sekunden. For benötogt länger als 15 Sekunden? Kann ich kaum glauben! Oder meinst Du, dass Dein Film weiterläuft (wird ja pro Frame nur ein Textfeld und Co erstellt, und for Deinen Film zum stehen bringt, bis die 450 Textfelder und Co fertig sind? Oder solltest Du an der Konzeption was ändern?!?! Grüße, solo |
| | |
| | #12 (permalink) |
| scriptvermurkser Registriert seit: Apr 2003
Beiträge: 269
|
wohl ein bisschen viel, was? Ich wusste aber nicht, wie ichs anders lösen soll. Ich hab für jedes Element (plz, Ort, tel., Nr.) ein Textfeld genommen, obwohl sie in einer Reihe stehen sollen, damit jede plz unter der anderen steht. Also wie eine Tabelle. Und wenn es dann 120 Adressen gibt, gibts 480 Textfelder. Ich denke, dass der film mit for irgendwann langsamer wird, weil flash meint, dass es in einer Endlosschleife hängt: "Macr. Flash Player wurde durch ein Script in diesem Film verlangsamt. Wenn das Script weiterhin ausgeführt wird, reagiert der computer möglicherweise nicht mehr. Möchten sie die Ausführung des Scriptes jetzt unterbrechen?" |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |