Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Brauche ein "Map-System" oder sowas für ein spiel... (https://www.delphipraxis.net/39284-brauche-ein-map-system-oder-sowas-fuer-ein-spiel.html)

Seniman 14. Feb 2005 12:51

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

Zitat:

Zitat von Master_RC
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....

Am besten überlegst du dir ersteinmal, mit welcher Technik, du die Grafik umsetzen willst. Wenn das Spiel nicht so groß wird, dann kannst du beispielsweise DelphiX nehmen. Das ist auch recht einfach zu lernen. Ansonsten geht auch die normale Canvas-Oberfläche, die ist noch etwas langsamer oder, wenn es komplizierter wird nimm Open-GL.
Ich glaube, wenn du noch nicht weißt, wie du dir Grafik überhaupt umsetzt, dann kann dir auch keiner sagen, wie du deine Karte zeichnen sollst.
Vermutlich wird es nur so laufen: Du brauchst dann noch Variablen ScrollX und ScrollY oder wie du sie nennen willst (Integer oder Float je nachdem wie du willst). Diese Variablen sollen angeben, welcher Ausschnitt der Karte gerade gezeigt werden soll. Beispiel ScrollX=3, ScrollY=10 heißt: Ganz oben links ist das Feld mit den Koordinaten (3,10). Zur Umsetzung muss du dann überlegen, wie viele einzelne Felde horizontal und vertikal in ein Feld passen und dann kannst du genau diese Felder zeichnen lassen. Am besten probierst du es einfach aus.

Grüße
Seniman

Master_RC 16. Feb 2005 16:12

Re: Brauche ein "Map-System" oder sowas für ein sp
 
h3h3, dann hab ich mal ne frage:

kann ich auf ner paintbox per canvas (oder sonstiges) ein solches kartensystem zeichnen, indem ich einfach immer jedes bild ausles und dieses dann immer 32 pixel weiter verrutscht "hinmale"?

wenn ja, wäre das problem gelöst :D

(geht auch was anderes als ne pbox?)

Binärbaum 16. Feb 2005 16:19

Re: Brauche ein "Map-System" oder sowas für ein sp
 
Das geht auf einem Canvas mit Delphi-Referenz durchsuchenCanvas.StretchDraw oder Delphi-Referenz durchsuchenCanvas.Draw.

MfG
Binärbaum

franktron 16. Feb 2005 17:04

Re: Brauche ein "Map-System" oder sowas für ein sp
 
So mal was ganz einfaches :-D

Delphi-Quellcode:
Var
  Felder : Array[1..100,1..100] of TFeld;
  x,y   : Integer;
Begin
  xstart:=1; //StartWert wenn nach Rechts dann +1
  xende:=xstart+10; //10=Breite Bild/TileBreite;
  ystart:=1; //StartWert wenn nach Unten dann +1
  yende:=ystart+10; //10=Hoch Bild/TileHöhe
  For x:=xstart to xende do
  Begin
    For y:=ystart to yende do
    Begin
      ImageList1.Draw(Canvas,x,y,Felder[x,y].ImgIndex);
    End;
  End;
End;

Master_RC 18. Feb 2005 14:23

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

nene, wie ich jetzt die tiles einzeln reinstel hab ich ja schon ;)
(ich überprüf sogar, ob die "existieren" [hoho!]) :)

nur jetzt noch mehr eine frage:

kann ich, wenn ich per canvas nen bild draufhau, bei diesem die transparenz brücksichtigen?
also ich hab eben bei allen meinen bildern die trransparente farbe "pink" genommen, nur wenn ich jetzt z.b. nen menschn hinhau per canvas.draw, dann hat der ne "pinke aura" sozusagen ;)

ich zeichne auf ne paintbox :)

Master_RC 23. Feb 2005 14:26

Re: Brauche ein "Map-System" oder sowas für ein sp
 
weiß denn keiner, wie ich beim zeichenen die transparenz berücksichtige? :(

Master_RC 27. Feb 2005 11:23

Re: Brauche ein "Map-System" oder sowas für ein sp
 
gut, habs jetzt selbst herausgefunden zwecks der transparenz:

paintbox1.canvas.brush.sytle := bsclear;


yo...
jetzt mach ich da also nen map mit ner paintbox, abba folgendes:

die karte wird supa angezeigt, nur wenn ich den charakter bewege, dann bewegt sich nur der charakter weg, die karte bleibt statisch - eigentlich sollte ja der charakter immer im "mittelpunkt" der karte sein und diese "weiterscrollen"...

hab jetzt (ungefähr) folgenden code:

Delphi-Quellcode:
for i := -2 to 2 do begin
 for ii := -2 to 2 do begin
  paintbox1.canvas.draw(........);
 end;
end;
tja...
wie schon gesagt...
axo:
die varible "i" und "ii" haben folgenden nutzen:

da es ja ne doppelte schleife ist, wird so "gedrawt":
paintbox1.canvas.draw( i * 32, ii * 32);
(jedes tile ist also 32x32 ;) )


naja...
komm einfach nüsch wieter, büdde helft mir!

Khabarakh 27. Feb 2005 11:59

Re: Brauche ein "Map-System" oder sowas für ein sp
 
Delphi-Quellcode:
Paintbox1.Canvas.Draw(i*32+Paintbox1.Width div 2-Player.x*32-16,ii*32+Paintbox1.Height div 2-Player.Y*32-16,...);
So sollte es stimmen.

EDIT: Warum
Delphi-Quellcode:
for i := -2 to 2 do begin
for ii := -2 to 2 do begin
?
Sollte es nicht eher z.B.
Delphi-Quellcode:
for i:=0 to High(Feld) do
  for ii:=0 to High(Feld[i])
sein?

Master_RC 27. Feb 2005 12:25

Re: Brauche ein "Map-System" oder sowas für ein sp
 
erstmal THX! :top: werds bald mal ausprobieren :)

und:
nein, meine Map-Variable ist so aufgebaut:

Record.......
x,y: integer;
........


die i und ii-variable ist dafür da, die x und y-werte "neben" dem helden anzuzeigen, also:

map[charx+i,chary+ii];
(cahrx,chary sind die x-y-werte des charakters)

trotzdem werd ichs mal versuchen!

Khabarakh 27. Feb 2005 12:38

Re: Brauche ein "Map-System" oder sowas für ein sp
 
Okay, jetzt verstehe ich noch weniger :mrgreen: .
Du rufst es also etwa so auf:
Delphi-Quellcode:
for i := -2 to 2 do begin
for ii := -2 to 2 do begin
  paintbox1.canvas.draw(i*32,ii*32,{Bitmap von Map[i+charx,ii+chary]});
end;
end;
Dann wird doch alles in die linke obere Ecke gezeichnet, die Hälfte außerhalb der Paintbox?
Ich denke, ohne mehr Quellcode kann ich dir nicht helfen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:32 Uhr.
Seite 3 von 4     123 4      

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