![]() |
Re: Brauche ein "Map-System" oder sowas für ein sp
Hallo
Zitat:
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 |
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?) |
Re: Brauche ein "Map-System" oder sowas für ein sp
|
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; |
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 :) |
Re: Brauche ein "Map-System" oder sowas für ein sp
weiß denn keiner, wie ich beim zeichenen die transparenz berücksichtige? :(
|
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:
tja...
for i := -2 to 2 do begin
for ii := -2 to 2 do begin paintbox1.canvas.draw(........); end; end; 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! |
Re: Brauche ein "Map-System" oder sowas für ein sp
Delphi-Quellcode:
So sollte es stimmen.
Paintbox1.Canvas.Draw(i*32+Paintbox1.Width div 2-Player.x*32-16,ii*32+Paintbox1.Height div 2-Player.Y*32-16,...);
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:
sein?
for i:=0 to High(Feld) do
for ii:=0 to High(Feld[i]) |
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! |
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:
Dann wird doch alles in die linke obere Ecke gezeichnet, die Hälfte außerhalb der Paintbox?
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; Ich denke, ohne mehr Quellcode kann ich dir nicht helfen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:32 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