Archiv verlassen und diese Seite im Standarddesign anzeigen : Code zum Positionsabfrage
Cx MR WOLF
04.10.2012, 23:25
Ja, liebe Community ich habe mal eine klitzekleine Frage nämlich;
Ich will sowas wie ein KS machen unswar, der Held hat halt so'nen Schwert und wenn man Enter drückt dann
schwingt er auch schön, aber er trifft nur dann wenn der Gegner genau vor ihm steht, wie kriege ich das hin, dass der Held den
Gegner mit dem Schwert trift wenn er 1 Block weter rechts ist? Den sein Schwert ist nicht kurz. Ich habe schon die X und Y Werte
der beiden Events in Variablen nur weiß ich nicht wie ich jetzt voran gehen muss :(
- Koordinaten vom Helden speichern.
- Jenachdem wohin er guckt +16 oder -16
- Jo, das wars eigentlich auch schon xD Danach kommt das normale KS zum Einsatz ;)
Cx MR WOLF
04.10.2012, 23:41
Und woher soll der Maker wissen, ob der Gegner 1 Block weiter vor ihn steht?
Der Gegner muss ja auch irgendwie getroffen werden ...
Trotzdem danke, dass du um diese Zeit noch antwortest^^
Ich weiß ja nicht wie dein KS aufgebaut ist, von daher kann ich dir da nicht 100%tig helfen.
Theoretisch müssten die Gegner alle auf ein und die selbe Y und X Koordinate "abspeichern" und dann mit der von dem Helden manimpulierten verglichen werden. So machs ich zumindestens bei Nahkampfwaffen^^
Hat bei mir noch keine Probleme gemacht^^
Aus dem Kopf heraus:
Angenommen die maximale Entfernung, innerhalb der ein Gegner getroffen werden kann ist MaxDistanz, dann ist der Gegner getroffen wenn:
(HeldX - GegnerX) * (HeldY - GegnerY) <= MaxDistanz * MaxDistanz und (HeldX - GegnerX) * (HeldY - GegnerY) >= -(MaxDistanz * MaxDistanz)
Die redundanten Operationen kannst du zwischenspeichern.
Cx MR WOLF
05.10.2012, 12:33
Hey, das hat mich sehr geholfen, vielen vielen Dank! :D
Sorry, hab da einen Denkfehler. Die folgende Formel ist eigentlich das, was ich posten wollte:
dX = abs(HeldX - GegnerX)
dY = abs(HeldY - GegnerY)
Gegner ist getroffen, wenn:
dX * dX + dY * dY <= MaxDistanz * MaxDistanz
Cx MR WOLF
05.10.2012, 15:12
Also bei mir funktioniert es auch so genau so wie ich es haben wollte, trotzdem danke :D
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.