Java feststellen ob gegner getroffen wurde

void knight

Cadet 1st Year
Registriert
Sep. 2009
Beiträge
12
Hallo Base User,

ich programmiere momentan mein erstes Spiel.
Man spielt einen "Kreis mit Schwert"(meine Zeichen-Künste sind recht eingeschränkt)
und jagt andere Kreise.
Mein Problem ist jetzt:
Wie überprüfe ich ob bei einem Schlag ein Gegner getroffen wurde. Dabei ist zu beachten,
dass der Schlag nicht einmal rundum geht (das wäre ja einfach), sondern nur einen etwa 135° großen Teil erwischt (natürlich 135° eines kreises des radius Figurmitte bis Schwertspitze um den mittelpunkt der Figur).

Ich freue mich über jede Antwort.

mfg void knight
 
naja du hast ja sicher variablen für coords / orientierung

also überprüfst du ob ein anderer spieler in reichweite ist, und dann schaust du ob der gegner auch noch auf der richtigen seite steht
 
Das würde es für 180° oder 90° sicher tun.
Tatsache ist aber leider, dass das nicht gut aussieht.
Auf so was in der Art bin ich auch schon gekommen,
aber wie sieht das mit beliebigen Winkeln, oder zumindest mit 45° Schritten aus?
trotzdem danke.

Ich freue mich weiterhin über jede Antwort.
 
kollisionsabfrage!

Code:
wenn benutze schwert, dann prüfe ob feindkreis in reichweite (coordinatenabfrage)
wenn ja, prüfe ob schwert <= winkel / richtung
wenn ja, kreis tot
else...

kannst auch nen thread draus machen, der alle x ms prüft ^^
 
danke
das werde ich gleich mal ausprobieren

Edit:
Es könnet durchaus funktionieren...
aber ich hab noch ein Problem wie rechne ich die richtung aus in der der Gegner (vom spieler aus) ist, wenn ich nur x und y abstand hab.
Dafür fehlt mir wahrscheinlich einfach die Mathematik.

Es wär sehr nett wenn ihr mir auch diesmal weiterhelfen könnetet.
 
Zuletzt bearbeitet:
man kann den winkel berechnen mit einfacher Trigonometrie.

alpha = arctan ( gegenkathete / Ankathete)

je nachdem wo du den Winkel einzeichnest, könnte es heißen:


alpha = arctan ( y-Abstand/ x-Abstand)

dann beginnt der Winkel auf dem 3-Uhr strich und geht gegen den Uhrzeigersinn
 
danke
ich werd mal sehen ob es jetzt klappt

edit:
ja läuft!
großes danke an euch beide
ihr wart mir eine große Hilfe
 
Zuletzt bearbeitet:
Zurück
Oben