AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Brauche ein "Map-System" oder sowas für ein spiel...
Thema durchsuchen
Ansicht
Themen-Optionen

Brauche ein "Map-System" oder sowas für ein spiel...

Ein Thema von Master_RC · begonnen am 31. Jan 2005 · letzter Beitrag vom 27. Feb 2005
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#11

Re: Brauche ein "Map-System" oder sowas für ein sp

  Alt 4. Feb 2005, 17:39
Dazu bräuchte der Record noch ein weiteres Feld:

Delphi-Quellcode:
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
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):
Delphi-Quellcode:
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;
Links oben in der Datei ist 0,0

[EDIT] Das Texturpfadfeld im Record kannst du ja dann weglassen, da du wohl nur eine Texturdatei hast.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#12

Re: Brauche ein "Map-System" oder sowas für ein sp

  Alt 4. Feb 2005, 18:04
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.
Angehängte Dateien
Dateityp: zip clickimage_215.zip (765,0 KB, 53x aufgerufen)
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Benutzerbild von Master_RC
Master_RC

Registriert seit: 18. Jan 2005
459 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: Brauche ein "Map-System" oder sowas für ein sp

  Alt 5. Feb 2005, 11:49
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?
Ein Volk ist nur soviel wert, wie es dessen Toten ehrt.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#14

Re: Brauche ein "Map-System" oder sowas für ein sp

  Alt 5. Feb 2005, 12:34
Was hat das mit dem Bitmap zu tun? Für die Bewegungen usw. greifst du auf deine TFeld-Variable zu:
Delphi-Quellcode:
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;
[EDIT]
Jetzt versteh ich es, du hast dich die Bitmap-Datei von Jens Schumann bezogen . 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
var FeldFile: File of TFeld speichern und laden (auch mehrere in derselben Datei).
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von Master_RC
Master_RC

Registriert seit: 18. Jan 2005
459 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: Brauche ein "Map-System" oder sowas für ein sp

  Alt 6. Feb 2005, 11:07
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!
Ein Volk ist nur soviel wert, wie es dessen Toten ehrt.
  Mit Zitat antworten Zitat
Benutzerbild von Master_RC
Master_RC

Registriert seit: 18. Jan 2005
459 Beiträge
 
Delphi 7 Enterprise
 
#16

Re: Brauche ein "Map-System" oder sowas für ein sp

  Alt 8. Feb 2005, 11:53
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...
Ein Volk ist nur soviel wert, wie es dessen Toten ehrt.
  Mit Zitat antworten Zitat
8. Feb 2005, 12:01
Dieses Thema wurde von "sakura" von "Sonstige Fragen zu Delphi" nach "Multimedia" verschoben.
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#18

Re: Brauche ein "Map-System" oder sowas für ein sp

  Alt 8. Feb 2005, 17:28
Zitat von Maa83:
also wenn ich dich richtig verstehe möchtest du eine Karte von sagen wir mal 100x100 Feldern erstellen bei der jedes Feld Eigenschaften besitzen kann. Dazu überlegen wir uns folgendes:

Ein Feld hat verschiedene Eigenschaften, also:

Delphi-Quellcode:
TFeld = record
 x: Integer; //X-Koordinate
 y: Integer; //Y-Koordinate
 Textur : String; //Texturpfad für das Feld
 Begehbar : boolean; //Kann man auf dem Feld laufen oder nicht
 Teleport : TPos; //Datentyp der die X,Y Koordinate enthält auf welches
                  //Feld teleportiert wird (0/0) für kein Teleportfeld
 //... kannst zum Beispiel noch Waffen auf dem Feld liegen haben oder Ressourcen.
end;
als nächstes brauchen wir dann die Karte:

map : array[0..100,0..100] of TFeld; //Kannst das natürlich auch dynamisch machen Nun kannst du einfach eine doppelte for Schleife durchlaufen und die Karte nach den Texturen füllen. Das abspeichern in eine Datei sollte nun keine allzu große Herausforderung darstellen.

Ich hoffe das ich das Problem richtig verstanden habe...
Sorry, ist etwas spät, aber eine Korrektur eines kleines Logikfehlers:

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
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Benutzerbild von Master_RC
Master_RC

Registriert seit: 18. Jan 2005
459 Beiträge
 
Delphi 7 Enterprise
 
#19

Re: Brauche ein "Map-System" oder sowas für ein sp

  Alt 10. Feb 2005, 14:52
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!
Ein Volk ist nur soviel wert, wie es dessen Toten ehrt.
  Mit Zitat antworten Zitat
Benutzerbild von Master_RC
Master_RC

Registriert seit: 18. Jan 2005
459 Beiträge
 
Delphi 7 Enterprise
 
#20

Re: Brauche ein "Map-System" oder sowas für ein sp

  Alt 13. Feb 2005, 11:55
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
Ein Volk ist nur soviel wert, wie es dessen Toten ehrt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:45 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