| Autor |
Beitrag |
mimi
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Fr 19.12.03 20:23
Hallo,
jedes Objekt ist 16X16 Pixel groß.
ich habe eine karte die ist (in meinen fall) 64X21 Pixel groß
Das sichtfenster ist 39X21 Pixel groß
die mini karte soll in ein fehld von:
145X128 Pixel rein
nun meine frage:
wie kann ich den Obitmalen größe für die mini karte herrausfinden, also:
wie groß muss jedes objekt auf der mini karte sein ?
ich verwende für die karte ein 2D Array
und ich benutze die GLXTreem komponenten, was aber egal sein dürfte !
wer hat eine idee für das problem ???
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
Da_Knuddelbaer
      
Beiträge: 485
|
Verfasst: Fr 19.12.03 22:19
Also eigentlich sollte das recht einfach sein: Die Minikarte ist ja immer gleich groß.
Du könntest also beispielsweise (und auch wirklich nur beispielsweise) aus der Kartengröße dann die Teilausschnitte berechnen, wobei sie mindestens einen Pixel breit sein müssen. Und danach trägst du in jedes dieser Felder das entsprechende in deinem Array eingetragene Objekt ein.
Ein recht praktisches Beispiel für eine Minikarte auf 2D-Level-Basis könnte UnTitledRTS sein. Ist zwar für DelphiX, aber der Source der dahinter steckt sollte ja ähnlich sein
UntitledRTS
Greetz
|
|
mimi 
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Sa 20.12.03 16:26
danke, die seite ist gut, nur ist sie mir zu langsamm, er läd ja nur in by t größe runter. hast du die sachen dir gedownloadet ?
wenn ja, könntes du sie mir bitte an: mimi_171@gmx.de senden ?
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
mimi 
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: So 21.12.03 15:45
der qullcode kann ich leider nicht complieren, weil: dort wird versucht const var zu verändern, weiß zwar nicht warum, aber es wird versucht.
hat noch jemmand ideen zu meinem problem ?
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
Da_Knuddelbaer
      
Beiträge: 485
|
Verfasst: So 21.12.03 16:21
Ja, check dein Delphi, ich kann es ohne Probleme kompilieren 
|
|
mimi 
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: So 21.12.03 16:51
ich nicht, weil die da versuchen irgendwleche konstanten zu verändern, wie den auch sei: hat jemmand eine idee für dieses "einfache problem" ???
wenn ja: nur rauß damit !
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
Gandalfus
      
Beiträge: 129
|
Verfasst: So 21.12.03 17:46
mal ein Beispiel:
grösse der richtigen karte ist 1000*1000 und die kleine Karte ist 100*100 gross.
Jetzt ist eine einheit an der position (100,100) auf der grossen Karte also Position auf der kleinen Karte ist (10,10). Das ist einfacher Dreisatz.
_________________ Wennn man feststellt, dass es drei Moeglichkeiten gibt, die einen Vorgang schiefgehen lassen koennen und man diese ausschaltet, entstehen automatisch drei neue Moeglichkeiten.
|
|
mimi 
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Di 23.12.03 18:15
ich habe jetzt mal dein beispiel umgesetzt und angepasst:
Delphi-Quelltext 1: 2: 3: 4: 5:
| for x:=0 to MapX do begin for y:=0 to MapY do begin glximagelist.items[4].draw( (MapX div x) * MapS ,(352+(MapY div y) ) * MapS, 0); end; end; |
jetzt meint er: es wird durch 0 geteilt !!!!
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
mimi 
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Di 23.12.03 20:53
problem gelöst, habe einfach nur die falschen zahlen genommen, jetzt geht es 
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|