~Eine Minimap für die Weltkarte erstellen~

In diesem Tutorial möchte ich demonstrieren, wie man auf der Weltkarte eine Minimap mit seiner Position anzeigt. Das geht einfacher, als manche vielleicht glauben


1. Vorbereitung
Erst einmal, sollte man (natürlich) eine fertige Weltkarte haben, mit Maßen, die graden Zahlen entsprechen sollten (zB. 160x80). Wenn man die beiden Maße durch 2 Teilt, ist es empfehlenswert, wenn wieder eine durch 2 Teilbare Zahl dabei rauskommt (Bei einer Mapgröße von 160x80 würde also 80x40 rauskommen). Wieso das wichtig ist, wird später erklärt.

So, nun hat man Also seine 160x80 Große Weltkarte. Um nun die Minimap zu erstellen, sollte man den Mapzoom im Maker so einstellen, dass die gesamte Karte sichtbar ist:


Nun macht man mit der "Druck"-Taste des Keyboards einen Screenshot und fügt diesen am besten in Paint ein. Nun muss das Bild so zurechtgeschoben und angepasst werden, dass nurnoch die Weltkarte auf dem Bild ist. Man darf NICHTS von der Weltkarte wegschneiden (Auch nichts vom Wasser etc):


Man speichert nun das Bild seiner Weltkarte ab. Nun nimmt man sich ein Bildbearbeitungsprogramm, mit dem man Bildgrößen verändern kann, und ändert sein Weltkartenbild auf die Größe der Originalweltkarte (Also auf 160x80 Pixel) und speichert es als 256-Farben BMP Bild:


Als nächstes erstellt man sich in Paint ein 1x1 pixel großes Bild, und speichert dies ebenfalls ab. Dieser Pixel wird unsere Positionsanzeige. Nun importiert man beide Bilder in den Maker, und das Werkeln kann losgehen.


2. Der Code
Nun erstellen wir den Code für unsere Minimap. Zu erst erstellen wir auf der Weltkarte einen Event, der als "Paralleler Prozess" laufen soll.

Zu erst müssen wir den Befehl machen, dass ein Bild angezeigt werden soll. Das währe in diesem Falle unser Bild der Weltkarte. Dieses muss, weil die Position durch die Bildmitte bestimmt wird, an der Position 80x40 gesetzt werden (erinnert ihr euch? Deswegen sollten die Maße durch 2 Teilbar sein). Die Transparenzfarbe sollte deaktiviert werden und das Bild soll eine Transparenz von 40% bekommen:


Als nächstes müssen die Variablen bestimmt werden. Insgesamt 2 Stück. 1: Held-X Position 2:Held-Y Position. Die Werte sollen auch direkt gesetzt werden:


Nachdem die X und Y Position in den Variablen bestimmt wurde, muss die Positionsanzeige erstellt werden. Das wird, wie die Weltkartenanzeige, per Bild gemacht. Diesmal jedoch mit den Positionsangaben aus den ebend erstellten Variablen:


Nun kommt eine Wait anweisung die dem programm eine Wartezeit von 0,1 sekunde gibt. Danach müssen die Variablen erneut aktualisiert werden und wieder die Bild-Anzeigen Anweisung gemacht werden, um den Pixel der unsere Position anzeigt auf den richtigen Punkt zu bewegen. Diesmal jedoch mit einem Unterschied:


Durch das Umfärben des Pixels, entsteht hinterher im Spiel ein kleines Blinken, damit man nicht lange nach seiner Position suchen muss. Nun sollte wieder eine wait anweisung von 0,1-sek folgen und Voilá, es ist fertig! Hier nochmal der Makercode, wie er nun grob aussehen sollte:


Und wenn man das nun Im Spiel betrachtet, sieht man auf der Weltkarte direkt das Ergebnis:




3. Schlusswort
Das ist zwar kein Super-Aufwendiges Verfahren, doch als Einstieg, sollte es genügen, denk' ich mal ^^ Ich hoffe, dass ich euch eine leicht Verständliches Verfahren demonstrieren konnte.

So long... CYa