![]() |
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 |
Re: Map erstellen
Guten Morgen, Marcel.
Du kannst dein Array so deklarieren:
Delphi-Quellcode:
Grüße vom marabu
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; |
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. |
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 16:56 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