| |||||||
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: Oct 2002 Ort: Duisburg
Beiträge: 33
| Brett vor'm Kopp ... oder "von Schleifen und Frames..."
Servus, ich habe ein prinzipielles Problem bzw. Brett vor'm Kopp und möchte gerne in die richtige Denk-Richtung geschubst werden: In einer Funktion mit zwei ineinander geschachtelten Schleifen veranstalte ich allerlei rechenintensiven Kram, so dass es so aussieht, als wäre Flash eingeschlafen bzw. die "Flash player runs slowly" Meldung kommt. Nun möchte ich die Schleifen aufbrechen und über Frames laufen lassen, damit man sieht, dass sich noch was tut bzw. die Fehlermeldung nicht mehr kommt. Nur wie mache ich das am geschicktesten? Ich möchte den Code gerne zentral an einer Stelle halten und nicht einzelne Teile aus der Funktion und den Schleifen herausschnippeln, über Frames verteilen, um dann wie in Basic mit gotoAndPlay arbeiten zu müssen. Zudem "verlasse" ich meine Funktion mit einer goto-Anweisung und kann schließlich, nachdem ActionScript in dem Frame ausgeführt wurde, wieder an die alte Stelle in der Funktion zurück springen und sie weiter ausführen lassen. Habe ich da irgendwo einen Denkfehler? Irgendein Tipp ... oder Verweis im Forum? (Trotz Suche habe ich leider nix gefunden) Tibby |
| | |
| | #2 (permalink) |
| Achim Math.PI Registriert seit: Jul 2001 Ort: cool Colonia
Beiträge: 11.642
|
also Flash player runs slowly" meldung kommen nur wenn die schleife nie erfüllt werden kann zb for (i=0;i>-5;i++) oder bei endlos whileschleifen.. daher zeig ma deine code
__________________ gruß bloba 2 x onkel² b_d |
| | |
| | #3 (permalink) | |
| Neuer User Registriert seit: Oct 2002 Ort: Duisburg
Beiträge: 33
| Zitat:
Siehe auch Technote bei Macromedia Hier ist mal der relevante Code: ActionScript:
Wenn das Spielfeld vergrößert wird, kommt es irgendwann zu besagter Fehlermeldung. Aber darum gehts mir schon fast weniger, als daß ich Flash beim zeichnen des Spielbrettes zugucken möchte, zB. reihenweise. In der angehängten Datei ist der Einfachheit halber nochmal das Beispiel-fla. Tibby | |
| | |
| | #4 (permalink) |
| _//\\#//\\_ Registriert seit: Jan 2003
Beiträge: 7.060
|
naja, mit 20*90 benötigt meine mühle 6.521 sekunden...es ist ja doch auch ein wenig zu tun bei derart viel spielfeldern (brauch eh kein mensch ) ![]() wenn du dabei zusehen willst, dann benötigst du mit sicherheit ein intervall. grz |
| | |
| | #5 (permalink) |
| querdenker Registriert seit: Jun 2001 Ort: formel1-stadt hockenheim
Beiträge: 4.731
|
sehe ich das richtig, dass das einfach ein brett gibt, also ein großes rechteck aus kleinen quadraten? ]gebe zu, dass ich zu faul bin, dass in ne fla zu stopfen...[ blöde frage... warum machst du das dann nicht mit einer veschqachtelten for-schleife oder verschachteltem while...? sieht mir doch ziemlich 'wild' aus... außerdem solltest du mal werte zwischen speichern in ner lokalen var und sie nicht ständig berechnen lassen - denn wen du schreibst: this.row [z.bsp], dann muss flash stetig über die pfadwege die variable überprüfen. ein einfaches: var r = this.row; beschleunigt schon imens... greetz kelor |
| | |
| | #6 (permalink) |
| Bontempi Punk Registriert seit: Dec 2001 Ort: Dtld/Pfalz
Beiträge: 4.185
|
performancesparender - wäre auch eine große Fläche ..und ein paar lineto`s zum unterteilen... kann aber sein das dies hier nicht möglich ist...weiß ja nicht für was Du das "Brett" brauchst.. Gruss nky |
| | |
| | #7 (permalink) | |
| Neuer User Registriert seit: Oct 2002 Ort: Duisburg
Beiträge: 33
| Zitat:
Wie kann ich "zwischendurch", aus Funktionen und/oder Schleifen heraus, den Stand von Berechnungen oder Zeichen-Operationen auf die Stage updaten ohne Code allzusehr auseinanderzupflücken und auf Frames verteilen zu müssen? Das "Brett" ist nur als Übungs-Beispiel gedacht um das Problem etwas anschaulicher zu machen. Ich dachte eigentlich es wäre klar, daß dieses Brett mit den vielen Kästchen wenig Sinn macht ... außer halt zu zeigen wo mein Verständnis-Problem liegt bzw. wie man so ein Problem prinzipiell angeht. Tibby | |
| | |
| | #8 (permalink) |
| querdenker Registriert seit: Jun 2001 Ort: formel1-stadt hockenheim
Beiträge: 4.731
|
axo...nochmal kurz gelesen, was du wolltets... nun..in dem fall wäre es vielleicht am geschicktesten, wenn du die funktion in eine onEnterFrame-fkt packst oder in einem interval aufrufst[den du ja selbst bestimmen kannst], like: ActionScript:
berechnet nur jedes 10.bild etwas... oder aber via interval ActionScript:
2.übergabewert ist die zeitdifferenz/der interval in dem die funktion aufgerufen werden soll in millisekunden [ms] hope this helps... greetz kelor |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |