Kelven, das Problem ist das die Bilder immer relativ zum Bildschirm angezeigt werden. Die Standardwerte sind wenn ich mich nicht Irre X:160/Y:120 und diese einstellung setzt den Mittelpunkt des Bildes genau in den Mittelpunkt des Bildschirms...
Wenn man nun also ein Event unter ein Bild setzen will mus man wenn man das Bild anzeigt, erstmal die Position des Helden speichern, dann weiß man schonmal wo sich das Bild ungefähr befindet. Nun muss man nurnoch berechnen wie dein Bild von den Standardwerten abweicht. Sagen wir mal du zeigst ein Bild an der Position X:176/Y:137 an.
176-160 = 16 / 137-120 = 17
Nun wissen wir die abweichung vom Standard, das nurnoch durch 16 teilen (1 Feld im Maker besteht aus 16 pixeln) und schon wissen wir was wir noch von den Koordinaten die wir zuvor gespeichert haben subtrahieren/addieren müssen.
16/16 = +1
17/16 = +1,0625
Ich weiß nicht wie der Maker intern Kommazahlen behandelt, falls er nen Integer zum speichern benutzt werden die Kommastellen am ende einfach abgehackt. Das wollen wir allerdings nicht, den 17 pixel sind technisch gesehen 2 Felder. Entweder wir würden also jede zahl einfach aufrunden 17+(16-(17%16)) und das ganze dann durch 16 teilen 32 / 16 = 2
Oder aber du prüfst einfach ob die Zahl die wir teilen wollen einen Restwert besitzt 17 % 16 und rechnest je nachdem +1 oder -1
Sooo, ich hoffe meine Lösung ist verständlich und nicht viel zu kompliziert ._.







Zitieren


