![]() |
Spieloberfläche aus Quadraten
Ich würde gerne eine Spieloberfläche aus einzelnen Quadraten erstellen!
Also meine Spielfigur ist ein Quadrat groß, ein Baum ist ein Quadrat groß usw. (wie Pokemon/Zelda usw.) Ich habe beispielsweise eine Map von 100x100 Feldern. Der Spieler soll immer nur einen Ausschnitt von 9x9 Feldern sehen, wobei die Speilfigur immer in der Mitte stehen soll! Wie kann ich das am besten verwirklichen? Ich weiß nicht, wie ich das angehen soll, weil wenn man dich bewegt, müssen ja immer ein paar neue Quadrate geladen werden! Wie kann ich das machen? Ich bräucht mal einen Gedankenanstoss! Danke im voraus |
Re: Speiloberfläche aus Quadraten
Nimm dir doch erstnal ein array[0..99] of array[0..99] of TKleinesQuadrat und merkst dir die Position der Figur. Wenn der Spieler dann auf -> drückt weisst du dann welche Quadrate du dann neu Zeichnen musst.
|
Re: Speiloberfläche aus Quadraten
Wahrscheinlich unterschätze ich die Rechenleistung unser 3 GHZ!
Ich hatte gedacht, dass die Ladezeit zu langsam sein würde, wenn man es so macht! Bei der Methode würde mir aber der Übergang zwischen den 2 Bildern nicht gefallen! Da wäre das zweite Bild halt einfach da, aber es wäre schöner, wenn es sich quasi verschiebt, sodass man auch erkennt, dass die Spielfigur läuft! Sorry, hatte mich oben zu unpräzisiese ausgedrückt! :oops: |
Re: Spieloberfläche aus Quadraten
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab dir mal was aus einem meiner Programme rausgeschrieben, vielleicht kannst du es für deine Zwecke anpassen. Ich hab ein Image in eine ScrollBox gesteckt, die scrollt sobald sich die Maus im Randbereich der Scrollbox bewegt. Du könntest jetzt ein Riesenimage mit den 10000 Quadraten reinzeichnen und dann mit der Methode bewegen.
|
Re: Spieloberfläche aus Quadraten
wenn man da wirklich das ganze Image reinhaut, dann wird es wirklich zu lahm. immer nur den sichtbaren teil zeichenen!
|
Re: Spieloberfläche aus Quadraten
Zitat:
Aber wenn ich nur den sichbaren Teil nehmen, weiß ich nicht, wie ich den Übergang machen soll, damit man auch erkennt, dass die Figur läuft! Weiß da einer Rat? |
Re: Spieloberfläche aus Quadraten
Die gerade eben noch nicht sichtbaren Quadrate schon mal "vorladen", und bei Bedarf scrollen.
Dann hast du einen Quadrat-Overhead der erträglich ist, da du nur den Rahmen um den sichtbaren Bereich vorab schon mal im Speicher hast. Wenn die Quadrate zu klein sind oder das nachladen zu langsam für die Scrollgeschwindigkeit ist, dann könnte man diesen "Rahmen" ja einfach "dicker" machen. Frag mich aber nicht nach einer Umsetzung - das ist nur ne theoretische Überlegung! Hab sowas noch nicht gemacht ;) Gruss, Fabian |
Re: Spieloberfläche aus Quadraten
Würdet ihr es denn auch mit einer scrollbox machen oder gibt es da noch eine andere Variante?
|
Re: Spieloberfläche aus Quadraten
Ne Scrollbox wäre da imho völlig unangebracht. Ich würde das Scrolling dann eher per Hand in einer PaintBox machen, oder aber evtl. auf nem DirectX-Surface (habbich aber auch noch nie gemacht :)).
Die Scrollbox macht eher nur dann Sinn, wenn du die gesamte Karte einlädst. Ansonsten musst du ja nach dem Scrollen den neuen Bereich als Mitte ansehen, ein paar Rand-Quadrate fallen weg, ein paar kommen hinzu, und du müsstest dann auch wieder "von Hand" hin und her scrollen. Imho wenig komfortabel. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz