• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Automatische geschütze

mor15€

Kuhfänger
Registriert
13 September 2018
Beiträge
64
Diamanten
300
Hallo ich bins nochmal,
ich habe ein weiteres probelm:
Ich will ein Automatisches geschütz coden.
Was soll dieses geschütz können:
- wenn ein Spieler in die nähe von dem geschütz punkt mit einem Strahl aus flame partikel den Spieler anvisieren
- damage an den spieler machen

Meine Idee wie man das problem therotisch lösen kann:
-Man versucht den Yaw wert herauszufinden um zu wissen in welche richtung der strahl gegen soll (Yaw = Dreiecks Winkel)
-Ein bild im anhang
bild.ggb 20.12.2018 20_08_44.png


- den winkel alpha(Yaw) berechnet man meines wissens nach mit sin(alpha)
-sin berechnet man mit sin = xAchse/zAchse
- soweit hat auch noch alles funktioniert
Mein Problem:
- wenn man z.B xAchse = -5 und yAchse = -5 sollte die blick richtung ja nach unten gehen doch -5/-5 ist das selbe wie 5/5
das heißt das die Blick richtung trotzdem nach oben geht da dann alpha den selben wert hat bei -5/-5 und 5/5

Ich hoffe ich habe es gut erläutert und ihr könnt mir helfen.

Danke schonmal im voraus bei fragen einfach melden.
 

Chrisliebär❤️

nur echt mit ❤️
Moderator
Registriert
19 Mai 2014
Beiträge
1.675
Diamanten
830
Hab dein Problem nicht verstanden, aber das löst man eigentlich immer mit Vektorgeometrie und nicht mit trigonometrischen Funktionen. Versuch das Problem mal besser zu erklären ohne dich dabei zu sehr auf irgendwelche Winkel zu beziehen. Was willst du haben und wo willst du es implementieren? Bukkit hat eine rudimentäre Vektorklasse, wenn du einfach einen Richtungsvektor brauchst, berechnest du einfach " Zielposition - Startposition".
 

Blockempirium

Schafhirte
Showcase Gewinner
Registriert
2 Februar 2015
Beiträge
117
Diamanten
321
Minecraft
Mulcho
Der wichtigste Punkt wurde ja schon gesagt. Sobald du einen Spieler im Umkreis erkannt hast benötigst du eine Richtung, die erhälst du indem du die Zielposition (die des Spielers) von der Startposition (da wo der Laser beginnt) subtrahierst. Den daraus gewonnenen Richtungsvektor benutzt du um deine Effekte zu berechnen, also z.B. Position und eventuell Flugrichtung deiner Partikel. Hier ein Beispiel im 2D Raum:
5cvij7Y.png

Es bietet sich an den Richtungsvektor zu normieren (und gegebenenfalls mit dem gewünschten Partikelabstand in Block zu multiplizieren). Um eine einzelne Partikel-Location (orange) zu berechnen, addierst du das Ergebnis (dunkelgrün) auf den Startvektor – das ganze mehrfach wenn es ein Strahl werden soll.

Anmerkung: Bukkit Locations lassen sich mit der .toVector() methode in Vektor Objekte überführen, welche wiederrum alle geforderten Rechenoperationen (Addition, Subtraktion, Multiplikation, Vektor normieren) für dieses vorgehen bereitstellen.
 
Oben