Gegner X-Held X
Damit wär das doch erledigt oder?
Wenn dir ein Rechteck um den Helden nicht ausreichst, wie du es bei
| HeroXCoords - GegnerXCoords | < a
| HeroYCoords - GegnerYCoords | < b
erhälst, dann musst du mit dem Satz des Phytagoras arbeiten:
Abstand² = XCoordAbstand² + YCoordAbstand²
Da der Maker keine Wurzelrechnung kann, musst du dafür selbst was schreiben, ein kleines Common Event, das du an entsprechender Stelle callst mit einem Algorithmus a la
(Eingabe ist Variable x, Ausgabe ist y)
Variable a = 1
Label #1
Variable b = a
Variable b *= a
fork (b >= x) {y = a}
else {a += 1, Go To Label #1}
danke danke ^^
habe eine lösung gefunden.
einfache funktionen
wenn der gegner nach unten sieht:
set variable: [gegner y]+1
bei oben dann -1 und links und rechts
das gleiche mit x
da hätte ich auch früher drauf kommen können ^^
danke noch mal
perticolum
Auch wenn schon eine zufriedenstellende Lösung gefunden wurde,
@Dhan/ Wurzelproblem:
Man braucht keine Wurzel ziehen. Wenn man den Abstand quadriert lässt, ist das Kleiner-Zeichen, und damit die Funktion, weiterhin gültig (da die Funktion y=x² monoton ist).
Für Gesamt_Abstand² setzt man einfach irgendeinen Wert und ignoriert die Wurzel. Zum Beispiel wäre sechs eine Lösung. Die Wurzel aus sechs muss keiner ausrechnen, auch nicht der Maker. Es reicht, dass man es vorher im Kopf abschätzt (2,5).
Ist jetzt beispielsweise der X-Abstand 1 und der Y-Abstand 2, lautet das Ergebnis 5. Das Ziel liegt innerhalb des Radius. Auch ohne Wurzelannäherung.
CapSeb
![]()
--
okay danke ich werde das mal probieren ^^
lg
perti