Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Map erstellen (https://www.delphipraxis.net/64597-map-erstellen.html)

holle 5. Mär 2006 20:25


Map erstellen
 
Hallo, ich möchte für mein spiel eine karte erstellen. als grundlage sollen 75*75px große grafiken dienen. ich habe jetzt ein 2d array in dem ich zu jedem feld auf der karte den typ speicher: map[x,y]:=typ; jetzt will ich beim erstellen der karte für jedes feld eine eigene variable erezeugen vom typ ttile=class(timagespriteex) um so kollisionen abzufragen. wie mache ich das am besten?

mfg holle

marabu 6. Mär 2006 06:56

Re: Map erstellen
 
Guten Morgen, Marcel.

Du kannst dein Array so deklarieren:

Delphi-Quellcode:
type
  MapRowIndex = 0..9;
  MapColIndex = 0..9;

  TTileType = (ttUnknown);

  TTile = class
  private
    FTileType: TTileType;
  public
    property TileType: TTileType read FTileType write FTileType;
  end;

  TMap = array [MapColIndex, MapRowIndex] of TTile;
Grüße vom marabu

holle 6. Mär 2006 15:22

Re: Map erstellen
 
vielen dank.
aber.. :) naja kannst du mir beim lesen des quelltextes mal helfen?

1. Festlegung des Definitionsbereiches für die Karte (Zeilen und Spalten)
2. Festlegung der einzelnen Feldtypen (muss ich hier meine möglichen felder eintragen? z.B. strasse, wiese, ... statt ttunkonown)
3. TTile = class ist ja noch klar, aber was passiert dann?
4. Hier wird das array TMap deklariert.

ist das soweit richtig? und wie weise ich dem array jetzt daten zu? mit Map[x,y]:=Strasse; ? Und wie zeichne ich die Karte? Bei meinem Auto hab ich das mit Car:=TCar.Create(DXSpriteEngine.Engine); gemacht, wie mache ich es hier?

thanx holle.

marabu 6. Mär 2006 18:06

Re: Map erstellen
 
Hast doch alles richtig erkannt. Ich habe aber kein Patentrezept für dich, kenne mich auch mit Spielen nicht so aus. Schon gar nicht mit DirectX. Wenn ich so überlege, komme ich zu dem Schluß, dass die einzelnen Felder besser nicht als Objekte modelliert werden. Vermutlich haben die Felder nur Eigenschaften und keine Methoden, sind eher passiv. Aber das müsstest du eigentlich besser wissen. Vielleicht liest ja auch jemand mit, der sich besser mit DX und Spielen auskennt?

marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:59 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