![]() |
Re: Brauche ein "Map-System" oder sowas für ein sp
Dazu bräuchte der Record noch ein weiteres Feld:
Delphi-Quellcode:
Jetzt lädst du die Textur-Datei in ein zusätzliches Bitmap und fügst dann den entsprechenden Bereich ein. Mal ein Beispiel mit BitBlt (ohne Scrollen):
TFeld = record
x: Integer; //X-Koordinate y: Integer; //Y-Koordinate Textur : String; //Texturpfad für das Feld TexturPos: TPoint; //Position der Textur in der Textur-Datei
Delphi-Quellcode:
Links oben in der Datei ist 0,0
begin
for i:=0 to 99 do for ii:=0 to 99 do BitBlt(MainBit.Canvas.Handle, Feld[i,ii].x*32, Feld[i,ii].y*32, 32, 32, TexturBit.Canvas.Handle, Feld[i,ii].TexturPos.x*32, Feld[i,ii].TexturPos.y*32, SRCCOPY); end; [EDIT] Das Texturpfadfeld im Record kannst du ja dann weglassen, da du wohl nur eine Texturdatei hast. |
Re: Brauche ein "Map-System" oder sowas für ein sp
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
es hört sich so an, als ob doe Karte statisch ist. D.h. sie ändert sich nicht in der Größe. Und es handelt sich um eine Bitmap. Dann habe ich evt etwas für Dich. Vor langer Zeit habe ich mir mal eine maussensitive Komponente auf Basis von TImage gebastelt. Man braucht dafür eine Bitmap und das Programm clickimg (ist im Anhang). In dieses Programm lädt man die Bitmap. Dann kann man in der linken Bitmap mit der Maus rechteckige Bereiche festlegen. Jeder Bereich bekommt eine ID. Darüber kann man den Bereich im Spiel erkennen. Wenn Du auf Aktualisierung klickst kannst Du in der rechten Hälft die Sache schon mal testen. Nach dem Du alles mit Pfadangaben entpackt hast starte mal clickimg.exe (steckt in ..\bin) und öffne mal die Bitmap aus dem Verzeichnis ..\Beispiel und anschließend über "Öffne Buttondatei" im Menu die Datei tastatur.btd. Dann klicke mal auf Aktualisieren. Nun klicke mal auf der rechten Bitmap rum. Das Beispiel im Verzeichnis ..\Beispiel zeigt die Verwendung der Komponente. |
Re: Brauche ein "Map-System" oder sowas für ein sp
wenn das jetzt nen bitmap ist...
wie lege ich dann fest, ob ich das nächste tile (beim weitergehen) jetzt z.b. betreten kann oder nicht? |
Re: Brauche ein "Map-System" oder sowas für ein sp
Was hat das mit dem Bitmap zu tun? Für die Bewegungen usw. greifst du auf deine TFeld-Variable zu:
Delphi-Quellcode:
[EDIT]
if Key=VK_Left then
if (Spieler.x>0) and Feld[Spieler.x-1,Spieler.y].Begehbar then begin Spieler.x:=Spieler.x-1; //usw. end else //Bewegung nicht möglich end; Jetzt versteh ich es, du hast dich die Bitmap-Datei von Jens Schumann bezogen :oops: . In der Bitmap hast du jedes Texturviereck einmal vorhanden, die Positionen der Texturen stehen aber in der TFeld-Variable. Tipp: Du kannst den Record ganz einfach mit
Delphi-Quellcode:
speichern und laden (auch mehrere in derselben Datei).
var FeldFile: File of TFeld
|
Re: Brauche ein "Map-System" oder sowas für ein sp
ach gotteles....
ich werd immer mehr verwirrter :| ich mein halt, wie ich das jetzt mache, dass die ganze karte um 1 tile nach links oder so weiterrutscht... kann mir da jemand evtl. mal ein beispiel machen? wäre sehr nett! |
Re: Brauche ein "Map-System" oder sowas für ein sp
nochmal hi leutz!
kann hier denn keiner helfen... außerdem möchte ich noch Maa83 dran erinnern ;) naja... kann denn keiner wenigstens nur ein klitzekleines beispiel uploaden... büdde... :) |
DP-Maintenance
Dieses Thema wurde von "sakura" von "Sonstige Fragen zu Delphi" nach "Multimedia" verschoben.
|
Re: Brauche ein "Map-System" oder sowas für ein sp
Zitat:
wenn du array[0..100,0..100] machst, hast du als erstes feld ja [0,0] Aber wenn du bei Teleport 0/0 für "kein Feld" (=nicht telportierbar) nimmst, kannst du nicht auf das 1. feld teleportieren.. also entweder array[1..101,1..101] oder für nicht teleport (-1/-1) air |
Re: Brauche ein "Map-System" oder sowas für ein sp
danke! :)
aber weiß ich immernoch nicht, wie ich die karte anzeigen soll, bzw. wie ich dann meinen charakter bewegen kann und zar so, dass er eben das "begehbar", bzw. "teleport" beachtet.... ttrotzdm danke! |
Re: Brauche ein "Map-System" oder sowas für ein sp
jud, ich hab jetzt einfach 25 images reingehaun und die eben dann immer ausgelesen und bild gealden, etc. würde jetzt auch klappen ;)
nur wenn jemand etwas besseres hat, wäre es ja doch nett, es mir biezutragen :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:41 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