ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
347
347
EMPFEHLEN
-
19.12.10 21:43 #1
- Registriert seit
- Dec 2010
- Beiträge
- 2
Hallo,
ich bin gerade dabei ein Spiel in Java zu schreiben (vielmehr werde ich dazu genötigt
) und stehe vor dem Problem, dass es ein Spielfeld aus ca. 1400 Blöcken (aus Grafiken) erstellt in denen sich die Speilfigur bewegen kann. Jetzt will ich aber nicht, dass bei jedem Bewegen der Spielfigur das komplette Spielfeld neu aufgebaut wird. Daher war meine Idee das Spielfeld einmal zu Beginn zu erstellen und dann dann entsprechnd zwischenzuspeichern und bei einer Veränderung als Grundlage zu nehmen und dann den Spieler sowie Gegner neu zu platzieren. Leider habe ich aktuell noch keine Möglichkeit gefunden, wie man das machen kann.
Ich hoffe, dass ihr mir weiterhelfen könnt.
mfg
-
Eine Möglichkeit die mir spontan einfallen würde, wäre alle Blöcke zusammen zu nehmen und für die Darstellung eine einzelne große Grafik zu erstellen. Von dieser kann dann jedes mal einfach der nötige Ausschnitt gezeigt werden.
Sollte sich nun was an den einzelnen Blöcken ändern müsste man zwar die Grafik neu erstellen, aber das sollte nicht solang dauern als immerzu alle 1400 Blöcke einzeln zu zeichnen.
Für die Bestimmung der Positionen kann dann immer noch die einzelnen Blöcke hernehmen
-
20.12.10 20:53 #3
- Registriert seit
- Dec 2010
- Beiträge
- 2
Hey...
danke für eine Antwort. Leider funktioniert das mit dem Speichern in eine Datei nicht wirklich, da die Daten erst zur Laufzeit aus einer anpassbaren Datei erstellt werden.
Ich suche eigentlich eher eine Methode die einmal die Blöcke erstellt. Dann sind diese ja in der entsprechenden Graphics2D Objekt abgelegt. Und den Inhalt der in diesem Objekt steht würde ich gern zwischenspeichern, also am besten in ein anderes Objekt. Ich würde eigentlich gern das Klonen per Serialisierung umgehen wollen. (sofern Graphics2D überhaupt serialisierbar ist). Und bei Neuaufbau des Bildes würde ich dann auf das zwischengespeicherte Objekt zugreifen, es wieder in mein vorhandenes Zeichen-Objekt einladen und die dynamischen Komponenten hinzufügen. Also die Stategie ist schon da... nur leider habe ich keine Idee, wie ich diesen Weg mit dem Zwischenspeichern machen kann. Und das speichern in eine Datei und dann wieder auslesen scheint mir relativ zeitintensiv zu sein.
mfg
-
Ich würde das Bild ja nicht wirklich speichern sondern auch in einem Objekt zwischenspeichern.
Zu beginn müssen alle Blöcke einfach einmal alle auf ein BufferedImage gezeichnet werden, welches dann zum Darstellen genutzt werden kann. Wenn sich nun etwas an den Blöcken, sofern sich überhaupt was ändern kann, muss das Image einfach neugezeichnet werden.
Dieser Ansatz sollte eigentlich um einiges schneller sein, außer die Blöcke ändern sich ständig, dann wäre warscheinlich das Zeichnen jedes Blockes schneller.
Ähnliche Themen
-
Kann keine Objekte aus der Klasse erstellen
Von blong1550 im Forum C/C++Antworten: 5Letzter Beitrag: 27.12.09, 20:15 -
Wie kann ich von Funktionen auf Objekte zugreifen?
Von xis im Forum PHPAntworten: 6Letzter Beitrag: 25.08.05, 19:59 -
Ich kann keine Objekte verschieben
Von Hawky im Forum Cinema 4DAntworten: 2Letzter Beitrag: 22.05.05, 20:36 -
Wie kann man Objekte kopieren?
Von sanny im Forum Cinema 4DAntworten: 1Letzter Beitrag: 12.03.04, 20:42





Zitieren
Login





