Zitat Zitat von Soul96 Beitrag anzeigen
@porsche:
Ich habs mal probier, aber bei mir klappts nicht so recht :/
  1. du speicherst die Ausmaße der Map (in Grideinheiten) in Variablen, das ergibt dann zB X = 40, Y = 35
  2. du speicherst die X und Y-Werte des Helden (Grid, nicht ScreenrelativePixel), das ergibt dann X = 12, Y = 5
  3. du erstellst eine Miniversion der Map als Grafik mit z.b. der Pixelgröße 80 Pixel Breite * 70 Pixel Höhe
  4. du zeigst diese Grafik im Spiel an, dadurch hast du einen "oben-links"-Punkt in screenrelativen Pixelkoordinaten, beispielsweise: X = 240, Y = 170 (dies sind nicht die Anzeigekoordinaten des Bildes, diese sind um jeweils 1/2 der Bildbreite/Höhe erhöht, da immer die Mitte als Ursprung benutzt wird, du brauchst aber die Koordinate der oberen linken Ecke )
  5. du hast eine Grafik, die einen Pixel zeigt, das soll dein Held auf der Minimap sein, dafür brauchst du Pixelkoordinaten in X und Y


Zu einer Position auf der Map muss nun ein entsprechender Punkt auf der Minimap errechnet werden. Wenn z.B. dein Held genau in der Mitte der Spielmap ist soll er auch in der Mitte der Minimap sein. Ist ein Held bei X12 von X40 ergibt das 0,3, auf 100% gemünzt 12/40*100 = 30%
Da der maker Nachkommastellen wegkürzt erst multiplizieren, dann dividieren. 12*100/40~ nun willst du aber nicht in % sondern in X-Pixel auf der Minimap.

Annahme:
Koordinate auf der Map: 12
Mapbreite in Feldern: 40
Minimapbreite in Pixel: 80

12 * 80 / 40 = 24 Pixel.

Diese 24 Pixel erhöhst du nun um "oben-links"-Punkt in screenrelativen Pixelkoordinaten, beispielsweise: X = 240, -> 264 Pixel in X, und dort zeigst du den Pixel an.