Logikfrage: Punkte in Relation zu einem andern

Logikfrage: Punkte in Relation zu einem andern| Datum: 06.11.2009 - 17:11 | Author: Vasco da Gama

Hi, Freunde.

[hidden:25ho05fn]Ich steh bei der Programmierung einer MiniMap eines meiner Spiele gerade total auf der Leitung:

ich hoffe ihr könnt euch unter folgendem was vorstellen und mir helfen.

Ich habe eine undendlich große Karte.
Irgendwo darauf ist ein fix bestimmter punkt, X=0; Y=0
Mein HauptCharakter bewegt sich umher und der Bildausschnitt folgt ihm.

Auf der Minimap gibt es einen schwarzen Punkt -> den hauptcharakter (immer mittig) und daneben sollen die anderen Lebewesen/Gebäude in anderen Farben dargestellt werden.

Naja mein exaktes Problem ist jetzt, ich will, dass die Minimap in etwa dem 5fachen Bildausschnitt entsprechen soll. Ich scheitere allerdings an der Umrechnung, der realen koordinaten im verhältnis zum nullpunkt, in die koordinaten, auf der Minimap

Versteht ihr, was ich meine? Könnt ihr mir helfen?

Danke, mfG Flo alias VdG[/hidden:25ho05fn]

Re: Logikfrage: Punkte in Relation zu einem andern| Datum: 07.11.2009 - 04:11 | Author: Anonymous

du meinst den Abstand der einzelnen Gebäude/Lebewesen zum Charakter? Dazu muss man doch einfach nur die Koordianten abziehen:
Character: x1, y1
Gebäude: x2, y2
Und der Abstand ist dann einfach immer x2-x1 und y2-y1
je nach dem ob es ost oder west vom Charakter ist, ist die Zahle bei X Positiv oder Negativ. Das gleiche für Y nach norden und süden.

mfg Balmung

Re: Logikfrage: Punkte in Relation zu einem andern| Datum: 07.11.2009 - 09:11 | Author: Vasco da Gama

Vielen dank für die Antwort :hai: aber...
Naja, darauf bin ich auch schon gekommen...
als nochmal:

der Bildausschnitt hat eine größe von 800*600
links unten befindet sich die minimap, die 4000*3000 entsprechen sollte, allerdings nur relativ klein ist(weiß jetzt nicht genau, was ich eingestellt habe, nennen wirs einfach w1 für width und h1 für height)

jetzt soll auf diesem teil der 4000*3000 große teil der map in form von punkten sein, und der hauptcharakter mittig.

habt ihr mich verstanden?
Sorry, dafür dass ich das nicht gut erklären kann...

Re: Logikfrage: Punkte in Relation zu einem andern| Datum: 07.11.2009 - 17:11 | Author: Anonymous

naja, um die original größe auf minimap größe zu bekommen, braucht man nur das verhältnis (nenn ich mal ratio) bestimmen. die längen der minimap karte nenn wir einfach mal wie du vorgeschlagen hast w1 und h1
ratio bestimmt sich dann aus dem verhältnis der original breite zur minimap breite:

Code


ratio_w = original_w / w1
ratio_h = original_h / h1



der ratio ist dabei irgendwas größer als 1, da die original längen ja wahrscheinlich größer sind als die längen der minimap.

Wenn du jetzt den Spieler auf der Minimap anzeigen möchtest, nimmst du einfach die Koordinaten des Spielers und dividierst diese durch den ratio. ratio_w auf x, und ratio_h auf y.
Das ganze noch mit den Startkoordinaten (linke obere ecke) der Minimap addieren, damit es an der richtigen position landet.