Bestimmten Punkt im KOS ermitteln

Status
Nicht offen für weitere Antworten.

b0unc3

Bekanntes Mitglied
hay leute,

ich habe versucht ein applet spiel zu programmieren un da muss ich einen Ball abschiessen. Wenn ich jetzt in das applet klicke (um auf den ball zu schiessen) dann hole ich mir die information, wo ich auf der x und y Achs bin und vergleiche es mit der position des Balles auf der x und y Achse aber irgendwie wenn ich auf den Ball klick, dann "treffe" ich ihn nicht und wenn ich hinter den Ball klicke, dann "treff" ich ihn aber . . kann mir da vielleicht jemand weiterhlefen bitte?

hier mal 2 code ausschnitte:

Methode zum überprüfen, ob de Ball getroffen wurde:

Code:
   public boolean userHit(int maus_x, int maus_y) {
      
      if (maus_x >= pos_x - radius && maus_x <= pos_x + radius &
            maus_y >= pos_y - radius && maus_y <= pos_y + radius) {
         player.addScore (10*Math.abs(x_speed) + 10);
         return true;
      } else return false;
   }

Event Handling bei Mausklick:

Code:
   public void mousePressed(MouseEvent e ) {
      // Position der Maus holen
      int maus_x = e.getX();
      int maus_y = e.getY();
      
      // Behandlung von Mausereignissen, währen das Spiel läuft
      if (!isStopped) {
         // Testen, ob roter Ball getroffen wurde
         if (redBall.userHit(maus_x, maus_y)) {
            // Ball auf Startposition zurücksetzen
            redBall.ballWasHit();
         }
         // Testen, ob blauer Ball getroffen wurde
         if (blueBall.userHit(maus_x, maus_y)) {
            // Ball auf Startposition zurücksetzen
            blueBall.ballWasHit();
         }   
      }
      // Gestopptes Spiel starten
      if (isStopped && e.getClickCount() == 2) {
         // Alle wichtigen Werte zurücksetzen
         isStopped = false;
         init();
      }
   }


kann mir da vielleicht jemand weiterhelfen?
 

b0unc3

Bekanntes Mitglied
ich glaub ich versteh da gerade was nicht :p . . ich hab keine variable p2 und ne distance variable auch nit!?!?
 

b0unc3

Bekanntes Mitglied
also wenn ich es so mache:

Code:
public boolean userHit(int maus_x, int maus_y) {
		double distance = maus_x - pos_x;
		if (Math.PI.distance(maus_x) < radius) {
			player.addScore (10*Math.abs(x_speed) + 10);
			return true;
		} else return false;
	}

bekomme ich folgenden Fehler:

Cannot invoke distance(int) on the primitive type double
 

Wildcard

Top Contributor
Was ist denn daran so schwer zu verstehen?
Du vergleichst den Mittelpunkt eines Kreises mit dem Punkt an den geklickt wurde. ist die Distanz kleiner als der radius wurde der Kreis getroffen:
Code:
if(kreis.getCenter().distance(e.getClickPoint)<kreis.getRadius)
 

b0unc3

Bekanntes Mitglied
ok, ich weiß jetzt nicht wo mein fehler liegt. Ich habe die kordinaten, da wo ich mit der maus hin klicke und da wo sich der Ball befindet in einem "Point" und führe dann die formel aus, die du mir gesagt hast, aber irgendwie geht es trotzdem noch nciht so ganz, ich treff den Ball nur auch der seite, von der er "weg fliegt". . also wenn er nach rechts "fliegt", dann treff ich ihn nur auf der linken hälfte und und auch noch etwas weiter hinter dem ball.

Hier hol ich mri die koordinaten der maus und speicher sie in einem punkt:
Code:
	public void mousePressed(MouseEvent e) {
		int x = e.getX();
		int y = e.getY();
		Point t = new Point(x, y);
... }

und heir überprüfe ich dann, ob der Ball getroffen wurde

Code:
	public boolean userHitBall(Point t) {
		if (p.distance(t) < radius) { // p ist die Position vom kreis (in einem "Point") p(x,y)
			return true;
		} else return false;
	}
 

Leroy42

Top Contributor
Sieht doch vollkommen richtig aus!

Stimmt die Position (Mittelpunkt) des Kreises mit dem tatsächlich angezeigten überein?
 

b0unc3

Bekanntes Mitglied
also die werte müssen ja richtig sein, weil ich sie in der Klasse "Ball" immer um die "geschwindigkeit" erhöhre (p.x += x_geschwindigkeit und p.y += y_geschwindigkeit)

und in der selben klasse vergleiche ich die werte von meinem klick ja mit diesen werten . .

hmm . . oder irr ich mich !?!?
 

Wildcard

Top Contributor
wenn du einen kreis zeichnest, so ist der angegebene punkt nicht der Mittelpunkt, sondern die linke obere Ecke eines gedachten Quadrats um den Kreis. Ich schätz mal da liegt der Fehler
 

Leroy42

Top Contributor
Ach so!

Ich bin natürlich davon ausgegangen, daß er die Koordinaten des
Mittelpunkts zum Vergleich heranzieht.
 

b0unc3

Bekanntes Mitglied
Wildcard hat gesagt.:
wenn du einen kreis zeichnest, so ist der angegebene punkt nicht der Mittelpunkt, sondern die linke obere Ecke eines gedachten Quadrats um den Kreis. Ich schätz mal da liegt der Fehler


oh, danke, dass wusste ich nicht :p . . aber wie kann ich mir das denn jetzt mit meinen "Point"´s ausrechnen. .wenn ich z.B nur "p" mit irgendwas vergleich will, dann geht das nicht.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Bis zu einem bestimmten Punkt aus Datei lesen Java Basics - Anfänger-Themen 2
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
L 4 stelliges Passwort aus bestimmten Zeichen. Java Basics - Anfänger-Themen 27
I Viereck / Rechteck Prüfung innerhalb einem bestimmten Bereich Java Basics - Anfänger-Themen 2
F Wie kann ich eine Funktion schreiben, die nur in bestimmten Fällen einen Wert zurückgibt? Java Basics - Anfänger-Themen 5
J Zahlen bis zu einem bestimmten Grenzwert ausgeben Java Basics - Anfänger-Themen 11
W Wie ziehe ich von einer bestimmten Zahl, Zahlen ab, bis mein Ergebnis null beträgt? Java Basics - Anfänger-Themen 10
A Zu einem bestimmten Ort im Code springen Java Basics - Anfänger-Themen 11
C ArrayList sortieren nach bestimmten Buchstaben in den Wörtern Java Basics - Anfänger-Themen 13
D Methoden nach einer bestimmten Reihenfolge ausführen. Java Basics - Anfänger-Themen 20
marcooooo Frage zu bestimmten Beispiel Java Basics - Anfänger-Themen 31
ms_cikar Den Wert einer Hex. value bestimmten. Java Basics - Anfänger-Themen 8
S Datenbank Tabelle eine Zeile an einer bestimmten Stelle einfügen Java Basics - Anfänger-Themen 2
B Liste von Tagen generieren ab einem bestimmten Datum und Endedatum Java Basics - Anfänger-Themen 4
J Button klick bei eine bestimmten Zahl Java Basics - Anfänger-Themen 8
B Umbruch nach bestimmten Wort Java Basics - Anfänger-Themen 5
K Apache POI Excel Letzte Reihe einer bestimmten Spalte Java Basics - Anfänger-Themen 1
CptK Bestimmten Integer Wert aus Array filtern Java Basics - Anfänger-Themen 2
I bestimmten Wert eines Arrays Java Basics - Anfänger-Themen 23
B .txt. Datei auslesen und bestimmten Wert wiedergeben Java Basics - Anfänger-Themen 5
E Array-list mit einer bestimmten Länge Java Basics - Anfänger-Themen 17
J Eingabe des Scanners an einer bestimmten Position Java Basics - Anfänger-Themen 6
N Operatoren Suchen nach einer bestimmten Eingabe (durch Scanner) Java Basics - Anfänger-Themen 7
K alle Vorkommen einer bestimmten Ziffer in einer Zahl zählen Java Basics - Anfänger-Themen 2
Hijo2006 Ansprechen einer bestimmten Excelzelle Java Basics - Anfänger-Themen 2
P JList, aus selectedValue bestimmten Wert aus Containerklasse auslesen Java Basics - Anfänger-Themen 4
R Ab einer bestimmten Zeile lesen Java Basics - Anfänger-Themen 3
L Subklasse von ArrayList nur mit bestimmten Objekten füllen Java Basics - Anfänger-Themen 1
J Bestimmten Bildbereich anklicken Java Basics - Anfänger-Themen 0
L Herunterladbares Java Programm in bestimmten Ordner speicher Java Basics - Anfänger-Themen 3
S OOP Frage: Methoden nur bei bestimmten Gegebenheiten aufrufbar machen? Java Basics - Anfänger-Themen 4
D Bestimmten Wert aus Array List ausgeben Java Basics - Anfänger-Themen 7
AssELAss Zusammengesetzer String, nur bestimmten Wert daraus mit führenden Nullen Java Basics - Anfänger-Themen 2
G Bestimmten String aus gegebenem String speichern Java Basics - Anfänger-Themen 3
B Zufallsdatum innerhalb eines bestimmten Bereiches erzeugen Java Basics - Anfänger-Themen 3
I Texte an bestimmten Stellen ausgeben. Java Basics - Anfänger-Themen 3
M Alle Sublisten einer bestimmten Laenge berechnen Java Basics - Anfänger-Themen 2
E Zeit zum bestimmten Datum in millisekunden berechnen Java Basics - Anfänger-Themen 5
L bestimmten Frame anzeigen lassen? Java Basics - Anfänger-Themen 6
R Bei einem Bestimmten wert einen text Ausgeben Java Basics - Anfänger-Themen 6
Todesbote Map<String, Treeset> aus Treeset bestimmten Wert auslesen Java Basics - Anfänger-Themen 4
B Collections Collection soll nur einen bestimmten Datentyp aufnehmen Java Basics - Anfänger-Themen 12
G Auf einen bestimmten Konstruktor in der abstrakten Superklasse zugreifen? Java Basics - Anfänger-Themen 2
G Erste Schritte Nach bestimmten Dateien suchen und dann in die Registry schreiben. Java Basics - Anfänger-Themen 6
B String in in bestimmten abschnitten splitten Java Basics - Anfänger-Themen 2
B Strings nur aus bestimmten Zeichen? Java Basics - Anfänger-Themen 4
S Langtext auf bestimmten Bereich begrenzen Java Basics - Anfänger-Themen 3
M bestimmten Teil eines Strings entfernen Java Basics - Anfänger-Themen 4
algebraiker Nur Klassen aus einem bestimmten Jar laden Java Basics - Anfänger-Themen 16
K Bestimmten String zerlegen Java Basics - Anfänger-Themen 12
M Threads bestimmten Kernen zuweisen? Java Basics - Anfänger-Themen 7
A Methoden ArrayList einen bestimmten Wert erhöhen oder herabsetzen. Java Basics - Anfänger-Themen 7
K Klassen Objekt mit einem Namen von einer bestimmten Klasse instanziieren Java Basics - Anfänger-Themen 10
N Dateien bestimmten Typs löschen Java Basics - Anfänger-Themen 6
M Liste nach bestimmten Kriterien ordnen Java Basics - Anfänger-Themen 9
M Input/Output Namen der Files aus einem Ordner MIT bestimmten Encoding auslesen? Java Basics - Anfänger-Themen 3
K größter gemeinsamer Teiler berrechnen, funktioniert nur bei bestimmten Zahlen Java Basics - Anfänger-Themen 2
C bestimmten Teil von string removen Java Basics - Anfänger-Themen 4
D Importieren von bestimmten Quellen Java Basics - Anfänger-Themen 13
M in methode variable eines bestimmten objekts verwenden Java Basics - Anfänger-Themen 2
C String ab einem bestimmten Char abschneiden??? Java Basics - Anfänger-Themen 7
M String an bestimmten Stellen zerlegen Java Basics - Anfänger-Themen 12
Burny91 FileReader / FileWriter / BufferedWriter An einer bestimmten Zeile String ersetzten Java Basics - Anfänger-Themen 2
B Methode nur in bestimmten Zeitintervallen ausführen Java Basics - Anfänger-Themen 3
C Mit LineRead bis zu einem bestimmten Zeichen auslesen Java Basics - Anfänger-Themen 2
K Datentypen Bestimmten Part aus String kopieren mit RegEx Java Basics - Anfänger-Themen 4
I (JFileChooser)Wie kann eine Jar auf Dateien eines bestimmten Ordners zugreifen? Java Basics - Anfänger-Themen 9
M Zufallszahlen aus einem bestimmten Intervall Java Basics - Anfänger-Themen 5
H Programm zu bestimmten Zeit ausführen Java Basics - Anfänger-Themen 3
D An bestimmten Knoten einer Liste zugreifen Java Basics - Anfänger-Themen 4
A String nach bestimmten kriterien splitten Java Basics - Anfänger-Themen 13
Z Geburtstag aller Angestellten am bestimmten Datum Java Basics - Anfänger-Themen 59
S HashMap: Rückgabe des key zu bestimmten value Java Basics - Anfänger-Themen 3
Screen Tätigkeiten von bestimmten Wochentagen gesammelt ausgeben Java Basics - Anfänger-Themen 30
JeromeM90 Problem bei einer Ausgabe von einem bestimmten Zeichen Java Basics - Anfänger-Themen 5
P Bestimmten Stringabschnitt selektieren? Java Basics - Anfänger-Themen 2
G Mail versenden, wenn Mikrofon einen bestimmten Pegel erreich Java Basics - Anfänger-Themen 3
G Auslesen einer bestimmten Stelle in einer Textdatei? Java Basics - Anfänger-Themen 2
M String nach einer bestimmten Anzahl von Zeichen trennen Java Basics - Anfänger-Themen 2
W Bestimmten Pfad im BufferedReader Java Basics - Anfänger-Themen 4
S Suche nach einer bestimmten Komponente . Java Basics - Anfänger-Themen 6
G Wert in Zeile an einer bestimmten Stelle ersetzen Java Basics - Anfänger-Themen 2
F Zufallszahl in einem bestimmten Intervall Java Basics - Anfänger-Themen 9
J Anzahl eines bestimmten Zeichens in einem String Java Basics - Anfänger-Themen 8
H Datei mit bestimmten Dateityp Java Basics - Anfänger-Themen 2
M Namen der Dateien in einem bestimmten Verzeichnis erhalten Java Basics - Anfänger-Themen 4
N In der Textarea an einer bestimmten Positon weiterschreiben? Java Basics - Anfänger-Themen 6
B bestimmten Wert in Array suchen und ersetzen Java Basics - Anfänger-Themen 3
J Auswerten eines Bestimmten inhalts einer Datei Java Basics - Anfänger-Themen 9
G Rundungsfehler bei bestimmten Rechnungen? Java Basics - Anfänger-Themen 2
P Zu einem bestimmten Zeitpunkt Meldung anzeigen? Java Basics - Anfänger-Themen 3
A Suche bestimmten Swing-Button Java Basics - Anfänger-Themen 2
S String --> Zahlen herausschneiden an bestimmten Positione Java Basics - Anfänger-Themen 3
R Bestimmten Buchstaben im String zählen Java Basics - Anfänger-Themen 9
A String Zeichen löschen in einer bestimmten Reihenfolge Java Basics - Anfänger-Themen 25
G Problem bei der Darstellung von bestimmten ASCII-Zeichen Java Basics - Anfänger-Themen 4
J Textauslesen, an bestimmten stellen? Java Basics - Anfänger-Themen 20
G Strings ab einem bestimmten Index zurück geben! Java Basics - Anfänger-Themen 3
N Anzahl eines bestimmten Wortes in einer Textdatei Java Basics - Anfänger-Themen 6
C Anker Punkt setzen. Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben