Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Große Karte + Scrollen + Pathfinding? (https://www.delphipraxis.net/6559-grosse-karte-scrollen-pathfinding.html)

Pyr0cracker 15. Jul 2003 10:47


Große Karte + Scrollen + Pathfinding?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo, ich hab ein Problem mit meinem Spiel.
Man sieht das Spiel aus isometrischer Sicht(2d) und man kann sich auf einer großen Karte(mit arrays aufgebaut) bewegen. Die Spielfigur ist immer in der Mitte des Bildschirms und gesteuert wird, indem man mit der Maus an eine Position auf der Karte klickt(wieder mit array).

Ich will aber in die Karte mehrere massive Objekte einbauen und bisher hab ich es so gemacht das die Arraypositionen um das Objekt herum einen bestimmten Wert hatten und die Figur dann nicht darauf gehen kann.
(zum Pathfinding: die Figur checkt auf welchem Array sie steht, guckt rechts, links, unten und oben im array nach ob es "frei" ist und geht dann)
Da das Array aber immer auf dem Bildschirm bei x=0 und y=0 anfängt gibts probleme wenn ich die figur auf der Karte bewege.

Und nun zu meiner eigentlichen Frage: Wie kann ich das machen daß das Array sozusagen auf der Karte liegt?
Bsp:
Code:
X= bildschirm
S= Spieler
M,0= massives objekt

Position 1:
X X X X X X X
X  MMMM   X
X          X
X    S    X
X          X
X OOO     X
X X X X X X X

Jetzt einen Schritt nach oben gehen:
X X X X X X X
X          X
X  MMMM   X
X    S    X
X          X
X          X
X X X X X X X
Die Position des Objektes hat sich verschoben, nur da das array ja absolut zum bildschirm liegt, verändert sich die position des objektes im array nicht.

[edit]anhang wurde nochmal geändert, wegen kleiner änderung[/edit]

Ich freue mich auf alle Anregungen und Tips !!

Gruß,

Mr_T 16. Jul 2003 23:26

Re: Große Karte + Scrollen + Pathfinding?
 
Hä?
Irgendwie verstehe ich das Problem nicht wirklich...
wenn man dein Beispielbild nimmt und dein array oben links im Bildschirm immer den Wert =,0 hat, dann müsste sich das Objekt, welches du da oben "gezeichnet" hast, doch in der Y-Coord um einen bewegt haben..... oder wie?

Zudem: ich werde leider aus deinem Programm nicht gnaz Klug... das Ding in der Mitte soll wohl der Spieler sein, aber ich sehe gar keine Fixel Objekte, gegen die der Rennen könnte oder verstehe ich was falsch?
*ich möchte gerne helfen, kann aber nicht, weil ich die Frage nicht verstehe*

Pyr0cracker 17. Jul 2003 09:44

Re: Große Karte + Scrollen + Pathfinding?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hmm, ich weiss selbst nicht genau wie ich das erklären soll...
Also: Ich möchte das Array sozusagen auf der Karte "festkleben".
Hab mal ein Bild angehängt.

Gruß,

OregonGhost 17. Jul 2003 10:34

Re: Große Karte + Scrollen + Pathfinding?
 
Wenn ich das richtig verstehe, hast du dein großes Array, und der Bildschirm zeigt immer nur einen Ausschnitt davon?

Dann brauchst du bloss das Offset (die linke obere Ecke des Bildschirms in Array-Koordinaten) zu speichern und diese zur Adressierung des Arrays zu den Bildschirmkoordinaten hinzuaddieren.

War es das was du willst?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz