| |||||||
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: Jan 2010 Ort: HH
Beiträge: 89
|
Hi, Tetris anders rum ![]() Meine Objecte auf der Stage haben einen y Wert. beginnend beim ersten von 70 beim Letzten 300. Dazwischen sind Lücken. Das erstellen mit einer For-Schleife klappt. Mit dem point.x und point.y verteile ich die Objecte wunderbar. PHP-Code: In einer Funktion zum Löschen eines in der Row befindlichen Objecte klicke ich auf das Object. Das Object gibt mir seinen y wert. Ich frage dann danach ab, ob es auf der Stage weitere Objecte gibt. Wenn ja dann bekommen die Objecte mit einem größeren Y-Wert 50px abgezogen. Sprich alles soll so nach oben rutschen. Klappt manchmal.. PHP-Code: Bin am ende.. mit dem f.latei chees Nik
__________________ bitte nicht an die Disco lehnen.. °° |
| | |
| | #2 (permalink) |
| Koda ;) Registriert seit: Oct 2010 Ort: Hannover
Beiträge: 213
|
wuerde dir vorschlagen saemtliche teile in einem mehrdimensionalen array/vector zu speichern. so kannst du einfacher auf ganze zeilen zugreifen. kann mir nicht vorstellen, dass du in 3 wochen noch weisst, was du da eigentlich versucht hast. probier deinen ansatz zu ueberdenken |
| | |
| | #3 (permalink) | |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 17.288
| Zitat:
wenn du z.b. 30 objekte hast, dann werden die 'so' positioniert, .. es ist vollkommen unwichtig, ob in der vergangenheit objekte dazu- oder weggekommen sind. positioniere alle aktuell vorhandene objekte neu. dabei ist es egal, ob ein objekt bereits auf der richtigen position sitzt oder erst da hin gebracht werden muss. animiert zuerst jedem objekt eine zielposition geben. danach in einer enter_frame schleife jeden ein stück näher an sein ziel bringen. sind alle am ziel, dann das enter_frame beenden.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (01-03-2012 um 13:15 Uhr) | |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Jan 2010 Ort: HH
Beiträge: 89
|
EnterFrame oder nen Timer der immer die pos. überprüft ist leider aus performance gründen != möglich. Klar ist der Code von mir,. der ganz obere mit dem Point, hab ich aus ner bibl,. um aus dem FileRef obj mir loader instanzen zu ziehen. Okay die Lösung.: PHP-Code: Meine Learnings waren dass man mit getRect und top und offset ne menge spass haben kann.
__________________ bitte nicht an die Disco lehnen.. °° |
| | |
| | #6 (permalink) | |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 17.288
| Zitat:
also ein EnterFrame anstatt deinen TweenLite's. je eins für jedes zu bewegende object. aber egal, wenn du eine lösung hast ...
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (01-03-2012 um 17:02 Uhr) | |
| | |
| | #7 (permalink) |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 7.046
| Das dürfte IMHO kaum einen Vorteil gegen über einer performanceoptimierten Tweening-Engine, wie TweenLite bringen. Oder seht Ihr das anders?
__________________ 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! |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Oct 2007 Ort: Kölle
Beiträge: 1.508
|
@ Martin: Jau ganz Deiner Meinung. hier ein kleiner Test mit 10000 Shapes... LG ANdré Und in der onEnterFrame wird noch nicht mal ein easing berechnet. EDIT: Und noch die FLA. Hab' nicht geschummelt...
__________________ Die Hoffnung stirbt zuletzt. Aber sie stirbt. Geändert von andrelehnert (02-03-2012 um 00:36 Uhr) |
| | |
| | #9 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 17.288
|
beruhigt euch mal wieder ;-) maxiW hatte geschrieben: "..immer die pos. überprüft.." ich vermute da wurde was missverstanden, so als ob ständig und ununterbrochen die position überprüft werden sollte, dabei hatte ich genau das gegenteil vorgetragen: nämlich nicht überprüfen. darauf habe ich geantwortet (versucht). und an geschwindigkeitsoptimierung bei 10 (?) objekten untereinander zu denken ist auch irgendwie übertrieben, finde ich. ich kann die fla von andrelehnert nicht öffnen, habe nur CS3 aber TweenLite kocht auch nur mit wasser. siehe: timingSprite.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true); TweenLite das ein Event.ENTER_FRAME ausführt kann nicht schneller sein als ein script mit nur einem Event.ENTER_FRAME. der vorteil von TweenLite liegt darin, das es schlanker ist als das Tween von flash.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (02-03-2012 um 00:07 Uhr) |
| | |
| | #10 (permalink) | |
| Neuer User Registriert seit: Oct 2007 Ort: Kölle
Beiträge: 1.508
|
Bin ruhig - trinke schon den ganzen Tag Baldrian-Tee ![]() Daß das konkret nichts mit dem Problem zu tun hat, ist klar. Aber MArtin hatte ja ne Frage gestellt... Zitat:
Berechnet TweenLite den Tweenverlauf vielleicht am Anfang komplett im Voraus? Immerhin ist die oEF in meinem Test mit 10000 Shapes ca. 3-4x langsamer(!) Hier das Script, damit Du das selbst mal testen kannst. PHP-Code:
__________________ Die Hoffnung stirbt zuletzt. Aber sie stirbt. Geändert von andrelehnert (02-03-2012 um 00:38 Uhr) | |
| | |
| | #11 (permalink) |
| Neuer User Registriert seit: Jan 2010 Ort: HH
Beiträge: 89
|
Auweia! zugegeben.. ich habe mir dann auch mal die Tween* Klassen angeschaut und habe da ENTERFRAME gefunden.. .. hm.. 10.000 Objecte gegen meine max. 10 instanzen .. ist ein wenig wie bei 300.. aber gut.. ich habe dann den bewegungstween wirklich mit tweenLite gemacht.. und es gibt da keine performance probleme.. NUR der FlashBug ist jetzt neu und kostet ! !! WTF !
__________________ bitte nicht an die Disco lehnen.. °° |
| | |
| | #12 (permalink) |
| Neuer User Registriert seit: Oct 2007 Ort: Kölle
Beiträge: 1.508
|
Naja... Nicht nur nicht an die Disco, sondern auch bitte nicht zu weit aus dem Fenster lehnen ...Deine Performanceprobleme kommen ganz sicher woanders her... Im Test treten die Unterschiede auch erst ab 3000-5000 Objecten auf(auf meinem Rechner). ein Bug ist das sicher nicht, onEnterFrame ist eine der "Kernkompetenzen" von Flash. LG ANdré
__________________ Die Hoffnung stirbt zuletzt. Aber sie stirbt. |
| | |
| | #13 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 17.288
|
mal so ganz grob geändert: test (CS3) der ordner com.greensock.. fehlt natürlich TweenLite benützt standardmässig easeOut und kommt so mit wesentlich weniger sprüngen zum ziel. deshalb ist es scheinbar so schnell. wenn ich das richtig gezählt habe, dann benützen jetzt beide verfahren 8 sprünge. dann wäre loop geringfügig schneller. natürlich, wer sowieso TweenLite benützt, das ist eleganter und leichter zu ändern als sich selbst was zusammen zu stricken. und so: zeilen (CS3) könnte eine lösung für die von maxiW angesprochene aufgabe aussehen. zum ausprobieren auf einzelne zeilen klicken
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (02-03-2012 um 02:55 Uhr) |
| | |
| | #14 (permalink) |
| Keine Panik Registriert seit: Apr 2010 Ort: Düsseldorf (im ernst)
Beiträge: 2.277
| Code:
Code:
stage.invalidate(), an der Stelle wo es jetzt steht: im schlimmsten Fall wird diese Funktion bei einem Aufruf von AnzeigeAufrückung, numChildren mal ausgeführt. Bleistift:
hier noch etwas Code: Code:
Geändert von thomas_E (02-03-2012 um 03:12 Uhr) |
| | |
| | #15 (permalink) |
| Neuer User Registriert seit: Oct 2007 Ort: Kölle
Beiträge: 1.508
|
@hgseib: Sorry, aber Dein Test hinkt total, da Du andere Rahmenbedingungen für EnterFrame als für TweenLite setzt. Ich habe den Speed aus dem Weg/(die benötigte Zeit * fps) berechnet und gebe so beiden Engines dieselbe Aufgabe. Du zählst mit schnellem Auge(?) die Sprünge und bastelst dann mit der Fantasiezahl 8 herum. Bei 1 Object läuft so die oEF viel viel schneller als TweenLite (also nicht mehr die angestrebten 2 Sekunden), ist ja logisch.Wenn mein uU noch schnelleres Auge ( ) 20 Sprünge gezählt hätte, fiele Das Ergebnis komplett anders aus. Ich vertraue da, wie Du in Deinen ganzen sonstigen Postings hier im FF der Mathematik.Alles in allem: Unfaire Manipulation der Testumgebung .Aber jedem seine Lieblingsspielzeuge -wobei ich eindeutig zu den Tweenengines rate... LG ANdré EDIT: @mods: Vielleicht kann man ja die Threads aufteilen - einen fürs urspr.Problem und einen für diesen Performancevergleich - ich denke, Performance ist für jeden Flasher ein Riesen-Thema?
__________________ Die Hoffnung stirbt zuletzt. Aber sie stirbt. Geändert von andrelehnert (02-03-2012 um 08:03 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| tabelle oben positionieren | bubzilla | HTML und CSS | 5 | 02-03-2006 16:50 |
| tabelle mittig und oben | elbronchito | HTML und CSS | 8 | 30-12-2002 23:18 |
| Wie bekomme ich meine Tabelle im Browser ganz nach links und ganz nach oben? | Lord D. | HTML und CSS | 2 | 29-10-2002 10:02 |
| text bei tabelle nach oben setzten!! | crazy_hemorid | HTML und CSS | 2 | 04-07-2002 07:51 |
| Einfache Frage - Tabelle ganz nach oben rücken | mood | HTML und CSS | 4 | 29-08-2001 16:22 |