Zurück   Flashforum > Flash > ActionScript > Spielkonzepte und Spieleprogrammierung

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-10-2008, 09:20   #1 (permalink)
Neuer User
 
Benutzerbild von hade0011
 
Registriert seit: Apr 2005
Beiträge: 31
clipping im flash game?

hallo leute,

ich bastel grade ein isometrisches flashspiel und alles ist wunderbar, bis auf eines: das spiel wird langsam etwas ruckelig. ich vermute mal, das hängt daran, das sich die ganzen gegner usw. alle bewegen und das zuviel zum berechnen ist. deshalb meine fragen:

1. berechnet flash(as2) auch objekte und deren bewegungen ausserhalb des aktuellen bildschirmausschnittes? falls ja:

2. gibt es irgendwelche methoden wie clipping o.ä, damit flash nur berechnet, was gerade auf der bühne ist?

merci,
dennis
hade0011 ist offline   Mit Zitat antworten
Alt 09-10-2008, 01:19   #2 (permalink)
Developer
 
Benutzerbild von malthoff
 
Registriert seit: Sep 2001
Ort: Unterhaching/München
Beiträge: 513
Angenommen Du gehst in jedem World Tick (Frame basiert oder Interval egal)
deine Objekte durch und änderst Werte (Drehung, Skalierung, etc) dann ist
es dem Flash Player egal, ob sich das Objekt auf der Bühne befindet oder
nicht. Dann hast Du einfach ein überflüssiges Durchwandern deiner Daten-
struktur.

Das kannst Du natürlich verhindern, indem Du Deine Objekte auf
"aufDerBühneBefindlich" = false stellst und damit von Deinen Berechnungen
ausschließt.

Der Flash Player wird sicherlich keine Performance brauchen, um die nicht
dargestellten Objekte NICHT zu zeichnen :-) (wenn Du weisst, was ich meine?!)

Zeig doch mal deinen Stand - würd mich interessieren.
malthoff ist offline   Mit Zitat antworten
Alt 09-10-2008, 10:38   #3 (permalink)
Raven-Kid
 
Benutzerbild von [RK]
 
Registriert seit: Feb 2006
Beiträge: 350
Keine Ahnung inwieweit sich das verändert haben soll, aber das Updaten der Displaylist funktioniert je schneller, desto weniger DisplayObjects (also MC's usw. will jetzt nicht nur von AS3 reden) vorhanden sind und desto weniger sie ineinander verschachtelt sind. Der Player muss ja nichts desto trotz prüfen welche Objekte von allen DisplayObjects auf der DisplayList nun tatsächlich gezeichnet werden müssen.

Ob man das ganze nun tatsächlich in der Performance merkt ist nat. eine andere Sache x) Kann mich nat. irren und das alles oben stimmt genau gar nicht, aber imo würde es Sinn ergeben und ich hab mir das (vor recht langer Zeit) des öfteren sagen lassen das es sich so in Flash verhält.

Das Clipping übernimmst du wohl am besten selbst. :/
Such mal nach "Panesystem" oder ähnliches. Gibt da einige gute (auch für Flash) Tutorials ...
[RK] ist offline   Mit Zitat antworten
Alt 09-10-2008, 11:14   #4 (permalink)
Neuer User
 
Registriert seit: Mar 2006
Beiträge: 302
http://www.tonypa.pri.ee/tbw/tut19.html

Meinst du sowas?
__________________
Gruß
Flo

---- blog.derhess.de ---- My Book Store ---- YouTube iNspIreNewMedia ----
Blog, Flash-Programmierung, Interaction Development und alles andere mit Medien
der_hess ist offline   Mit Zitat antworten
Alt 09-10-2008, 16:28   #5 (permalink)
Neuer User
 
Registriert seit: Sep 2008
Beiträge: 2
Hi hade0011,
ich war mal an einem ähnlichen Punkt wie du, deshalb möchte ich dich auf einen anderen Thread aufmerksam machen. Ich weiß nicht wie umfangreich dein Projekt ist, ich selbst habe eine 50 x 50 Felder große Isotilemap für ein Strategiespiel in Flash. Mir hat das Zauberwort "Bitmap-Blitting-Engine" geholfen. Lohnt sich auf jedenfall, wenn du größere Projekte im Sinne hast. Ich kenne allerdings bisher nur die Technik aus AS3. Ich kann dir leider nicht sagen, ob es copyPixels schon in AS2 gab.
Zuvor hatte ich es schon mit Clipping probiert, was auch schon Performance mit sich gebracht hat. Aber da meine gesamte Map über 10.000 Pixel hoch und breit ist und sie auch scrollbar sein sollte, musst ich mich von Movieclips verabschieden.
Wenn bei dir Berechnungen außerhalb des Sichtfelds keine Rolle spielen, reicht dir wahrscheinlich schon Clipping. Wenn du die Anzeigeobjekte die nicht im Sichtfeld visible=false; machst bekommst du eine spürbar bessere Performance. Noch besser wird sie, wenn du die nicht sichtbaren Elemente aus der Anzeigeliste ganz entfernst und sie erst wieder hinzufügt, wenn sie in den Sichtbereich kommen. Wenn dir das auch noch nicht genug Leistung bringt, wirst du wohl wie ich auf Bitmapdata umsteigen müssen.
Hier noch der Link zum Thread:
BItmap-only games (no Movieclips)?

Gruß Dominik
Pong22 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:13 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele