Erstmal kommt des drauf an wie grosser deine Map ist! nehmen wir also beispiel das sie X=450 und Y=450. und das pic das angezeigt wird ist X=90
und Y=090 naja dann musst du die 430durch die 90 teieln also bekommst du 5!
Und dann musst du noch jeweils wie weit weg vom rand das bild ist ausrechnen wenn es in der mitte ist dan ist es X=110 und Y=75
naja ist bissl dumm das zu erklären schau dir mal einfach das untere pic an^^
naja und dann nur noch auf ein parallel process event das bild was die position des helden angibt zeigen.^^ und die map auf einem parallel process zeigen oder auf einem autostart even ( bei autostart darfst du halt nicht vergessen das du danach noch clear timer machen musst^^)
Meine Frage kann man die größe der Minimaps nicht irgendwie einheitlich halten? Wie in FF10,FF12, da ist die Minimap immer gleich groß!
...
Geniale Idee ^^
Ich hab mir das mal so überlegt und ich schätze wenn ich dich richtig verstanden habe, willst du, dass es eine kleine Karte(irgendwo in ner Ecke) wird die sich dann aber bewegt.
Also nicht, dass der Hero(zb. in form eines roten Punktes) seine Position
auf der Karte verändert sondern sich das Bild bewegt und der Hero immer in
der Mitte bleibt.
Ich hätte dazu eine Möglichkeit gefunden, aber die läuft darauf hinaus,
dass man seine Maps durch Pic anzeigen lassen muss ^^
Das Thema interessiert mich wirklich sehr, also wenn ich was vollbringe
werde ich dich informieren.
Hab ich deine Frage überhaupt richtig interpretiert ?
*sing* Proportionalität. Wie oft predige ich im Technikforum diese einfachste aller mathematischen Formeln *g*
Was ist Proportionalität?
Zwei Werte verhalten sich proportional zueinander, wenn sie in gleichem Verhältnis zueiander stehen und im gleichen Verhältnis steigen und fallen. Beispiel: Ein Drachentöter tötet täglich drei Drachen. Zwei Drachentöter bringen dann logischerweise sechs Drachen zur Strecke. Drei Drachentöter bringen neun Drachen um. Die Anzahl der Drachentöter und die Anzahl der getöteten Drachen ist also proportional zueinander.
Was hat Proportionalität mit einer Minimap zu tun?
Alles! *heul* Denn die Minimap steht logischerweise in einem Verhältnis zur richtigen Map, es sei denn der Kartenzeichner hat Schluderarbeit getrieben ^^°
Du kennst auf Landkarten sicherlich unten in der Ecke immer das "1:10000" oder "1:1000000" usw. Das ist schonmal ein Hinweis darauf, dass wir es hier im Proportionalität zu tun haben! Im Maker ist das nix anderes.
Wie rechnet man mit Proportionalität?
Proportionale Werte sind Quotientengleich. Das heißt:
Die Anzahl der Drachentöter DURCH die Anzahl der getöteten Drachen hat IMMER das gleiche Ergebnis.
Beispiel: 3 Drachentöter töten 9 Drachen. 9 / 3 = 3
5 Drachentöter töten 15 Drachen. 15 / 5 = 3
Man kann also die Formel aufstellen
WertA / proportionalen Wert von A = Wert B / proportionalen Wert von B
Wie wendet man das auf eine Minimap an?
Bei der Minimap gilt: Eine Koordinate auf der Minimap ist proportional zu einer Koordinate auf der realen Map. Wir nehmen uns also eine bekannte Koordinate raus, um dort die Verhältnisgleichung aufzustellen. z.B. nehmen wir den rechten, unteren Pixel der MiniMap. Wenn die Minimap 100*100 Pixel groß ist, und sie wird auf den koordinaten 50*50 angezeigt (ein Picture wird immer an seiner mittlersten Koordinate angezeigt), dann müsste der rechte untere Pixel bei den Pixekoordinaten 100/100 sein.
Gehen wir davon aus das die Map 200*200 Felder groß ist.
Wir stellen jetzt also die Verhältnisgleichung auf:
Der 100te Pixel in X/Y-Richtung auf der Minimap verhält sich proportional zu dem 200ten Feld der Map in X/Y-Richtung
Nun stellen wir ein zweites Verhätlnis mit unbekannten Variablen auf. Wenn sich der unterste, rechte Pixel der Minimap zu dem untersten rechten Feld der Map verhält, muss folglich auch das Feld, auf dem sich der Held befindet, zu einem Pixel auf der Minimap verhalten. Dieses Verhältnis schreiben wir also nieder:
Der Unbekannte Pixel in X/Y auf der Minimap verhält sich proportional zu den bekannten koordinaten des Helden auf der realen Map.
Die beiden Verhältnisgleichung schreibt man nun mit = nebeneinander, da ihre Quotienten ja gleich sein müssten:
Wir kennen alle Werte (die Koordinaten des Helden kann man mit change Variable leicht herausfinden) und haben nur eine unbekannte Variable: Held_X_Minimap (bzw. Held_Y_Minimap). Nach diesen Variablen stellen wir die Formel um:
Kann mir das ganze mal jemand in der Kurzfassung geben da ich mit dem da oben nich klar komme. Ein Code wäre sehr nett!
...
Das habe ich irgendwie befürchtet... Es ist doch wirklich nicht zu viel verlangt, sich mit der Materie auseinanderzusetzen, statt ständig Scripte abzuschreiben und sie dann als eigene Features auszugeben oO
Die Formel habe ich unten sogar geschrieben:
In Makercode würde das also so aussehen:
Statt XKOORDINATE_MINIMAP und YKOORDINATE_MINIMAP gibst du zwei beliebige Zahlen ein, je nachdem, wo du die Minimap anzeigen willst (in der Mitte, oben links etc.). Statt MINIMAPGRÖSSE gibst du die Größe der Minimap in Pixeln ein. (wenn die Minimap kein Quadrat ist, so gibst du bei der Berechnung der Variable "x" die Breite des Pictures an, und bei der Berechnung der Variable "y" die Höhe. Statt MAPGRÖSSE gibst du die Größe der Weltkartenmap an. Hier wieder: Bei der "x"-Berechnung die Breite in X-Richtung, bei der "y" Berechnung die Höhe in "Y"-Richtung.