Punkt auf eine Farbe prüfen

Mister K.

Mitglied
Hallo Community,
ich programmiere ein kleines Spielchen... ein ball wird über das Spielfeld geschossen und ich möchte prüfen ob der Ball auf ein Objekt trifft.
Der Hintergrund ist Bakground.SKY = Color.white;
Die Flugkoordinaten des Balls sind int midBallX; und int midBallY;
Wenn der Ball auf etwas trifft, dann ist das Pixel der Koordinate(midBallX|midBallY) != Background.SKY;

Mein Problem ist, dass man die int-werte logischerweise nicht mit Color vergleichen kann.
Wie kann ich prüfen ob die Koordinate nicht Background.SKY ist?
Kann ich das jeweils für x und y prüfen und ein && bedingung schreiben oder muss ich die beiden x udn y Koordinaten in etwas speichern (in was), sodaß ich auf die Farbe prüfen kann?!

Java:
if(midBulletX != Background.SKY && midBulletY != Bakground.SKY){
            return true; // so funktioniert das nicht,w eil man int nicht mit color vergleichen kann aber wie muss man das dann umsetzen?

Vielen Dank :)
 
N

nillehammer

Gast
Dass eine Koordinate etwas anderes ist als ein Farbwert ist Dir klar? Die beiden zu vergleichen ist nicht wirklich sinnvoll.

Du müsstest aus den Koordinaten zunächst sowas wie einen Punkt oder Pixel ermitteln, der dann seinerseits eine Farbe haben kann, die zum Vergleich heran gezogen wird. In welchem graphischen Umfeld bewegst Du Dich denn?/Mit welchen (Swing?-)Elementen ist die GUI realisiert? Dann könnte man schauen, wie man dort einen Punkt oder Pixel ermittelt.
 

Mister K.

Mitglied
Java:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import javax.swing.JOptionPane;
	private Color[][] fb = new Color[midBulletY][midBulletX];



            for(int i=0; i<fb.length;i++){	
			for(int j=0; j<fb[i].length; j++){
				if(getColor(fb[i][j])!= Background.SKY){
					return true;
				}
			}

Also ich habs jetzt so probiert. ich habe meine xund y Koordniate in einem 2D Array fb gespeichert, durclaufe es mit den beiden for-Schleifen und wollte eig. mit getColor(fb[j]) die farbe am jeweiligen ort bekommen aber das funktioniert auch nicht... :-( :-/
eclipse unterstreicht mir getColor mit der Meldung "The method getColor(Color) is undefined for the type
BallGame"
 
B

bone2

Gast
ISt es in Spielen nicht eher üblich, dass das Spielfeld im Hintergrund zb in einer Matrix gehalten wird, damit du einfach über die Koordianten vergleichen kannst ob es kontakt gibt? Niemals geht sowas über irgenwelches auslesen der Farbe von Pixeln.

Dein eben geposteter Code entspricht keiner Java-Grundregel... wenn der echt so aussieht, na gute nacht. Vergiss das Spiel und schreib erstmal hello world.
 

Mister K.

Mitglied
@Bone2: ich will jetzt hier nicht unbedingt einen Streit vom Zaun brechen aber das was du hier postest ist nicht besonders hilfreich... Wenn du nicht helfen möchtest, dann verzieh dich halt einfach...

Wenns jemand besser weiß als Bone2 und mir helfen möchte, dann würde ich mich doch sehr freuen. Immerhin steht mein Spiel schon mit zwei Figuren, Ball, und Spieleranzeigen mit allem drum und dran, Hintergrund, Bewegung ist auch drin nur bekomme ich es gerade nicht auf die Reihe zu testen ob mein Ball etwas berührt oder nicht... :-(
 
B

bone2

Gast
Naja wie gesagt, du hast doch die Koordinaten de sBalls, du weiß wie groß das Spielfeld ist. Man prüft das nicht über Farben sondern einfach in dem du mit Koordinaten und Kreisformeln aus deinem Tafelwerk ausrechnest, ob die Außenlinie die Kreisfläche berührt oder schneidet. Bzw ob sich 2 Bälle berühren.

Das ganze war bitter ernst gemeint, dein oben geposteter Code ist nicht lauffähig. Wenn das nur ein Auszug ist, sieht er halt komisch aus, mit ein wenig aus irgendeiner methode und Imports direkt daneben.
 

njans

Top Contributor
The method getColor(Color) is undefined for the type

Java:
getColor(fb[i][j])

du übergibst getColor eine Farbe und willst dann eine Farbe zurück bekommen? Du willst doch eher getColor(x,y) aufrufen, damit du an der jeweiligen Stelle die Farbe zurück bekommst. Außerdem ist der oben gepostete Code keine Methode/Klasse, da Fehlen einige Bezeichner und Klammern.
 

Mister K.

Mitglied
es ist ein auszug aus über sechs seiten code von mehrern klassen. Die aufgabenstellung ist aber, das ich das über die Farbe machen muss und da bleibt mir nichts anderes übrig... als über die farbe zu prüfen.

leider :-D
 

njans

Top Contributor
Du machst keinen Sinn...
Und ich glaube du verstehst nicht, was du da schreibst.
Deine For-Schleife schaut durch dein 2D Array und gibt true zurück, wenn es den ersten Background.SKY findet.

Du willst aber eigentlich die Methode:
Java:
public boolean isBackground(int x, int y)
{
  return fb[x][y] == Background.SKY;
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Eine Frage zu AWt in JAVA, wie wähle ich ein Punkt aus`? Java Basics - Anfänger-Themen 4
C Anker Punkt setzen. Java Basics - Anfänger-Themen 1
monsterherz Punkt Notation funktioniert nicht Java Basics - Anfänger-Themen 4
JavaBeginner22 Punkt auf Gerade Java Basics - Anfänger-Themen 59
K Gleitkommazahl macht man 0 punkt matisse oder 1 punkt matisse Java Basics - Anfänger-Themen 2
B String - Wörter finden, welches Punkt und entsprechender Pre / Suffix hat? Java Basics - Anfänger-Themen 30
M Regex nur Zahlen und Punkt zulassen, Keine Eingabe(Leeres TextFeld) nicht zulassen Java Basics - Anfänger-Themen 6
A Java . punkt neben einer Zahl. Java Basics - Anfänger-Themen 1
Ich lerne Java. Methoden Mehrere Methoden mit Punkt Java Basics - Anfänger-Themen 45
F Aufgabe: Abstand von einem Punkt zu einem anderen Punkt Java Basics - Anfänger-Themen 10
H Punkt bewegt sich auf einer Ellipse Java Basics - Anfänger-Themen 6
J Punkt auf,über,unter oder zwischen 2 Geraden Java Basics - Anfänger-Themen 14
P Datentypen Kann ich bei double Komma statt Punkt eingeben? Java Basics - Anfänger-Themen 14
U RegEx alle Kommas bei den Zahlen in Punkt umwandeln Java Basics - Anfänger-Themen 3
L Punkt innerhalb eines Bereiches verschieben Java Basics - Anfänger-Themen 9
G Bis zu einem bestimmten Punkt aus Datei lesen Java Basics - Anfänger-Themen 2
L Java Text datei nur bis zu einem Punkt auslesen? Java Basics - Anfänger-Themen 3
E Erste Schritte Vorschläge für mich zum Thema Punkt vor Strich ? Java Basics - Anfänger-Themen 7
Z Double in komma und Punkt akzeptieren -> Robusteeingabe Java Basics - Anfänger-Themen 7
R Erste Schritte Taschenrechner - Punkt-vor-Strich Rechnung Java Basics - Anfänger-Themen 1
S Punkt in Java zeichnen Java Basics - Anfänger-Themen 14
C Methoden Diagonalen am best. Punkt im zweidimensionales array finden Java Basics - Anfänger-Themen 3
Y Was bedeutet "this" ohne dem Punkt und dem Atrributnamen danach? Java Basics - Anfänger-Themen 2
H inputfeld dezimalzahl mit komme statt punkt Java Basics - Anfänger-Themen 12
R Double: auf einmal Komma statt Punkt Java Basics - Anfänger-Themen 4
H Methoden Array aus Punkten erzeugen, mittels Punkt-Klasse Java Basics - Anfänger-Themen 5
S 3d Punkt in Java3D Java Basics - Anfänger-Themen 4
J Taschenrechner Punkt vor Strich Java Basics - Anfänger-Themen 9
K Methoden contains()-Methode für Punkt in Polygon Java Basics - Anfänger-Themen 5
I Externer Methodenaufruf, Punkt-Notation Java Basics - Anfänger-Themen 11
R ArrayList<String> Komma oder Punkt "replacen" Java Basics - Anfänger-Themen 5
C Punkt oder Kommanotation. Java Basics - Anfänger-Themen 7
B Kreis,Punkt,Zylinder Java Basics - Anfänger-Themen 6
H sprung zu einem anderen punkt im script Java Basics - Anfänger-Themen 11
radiac Datentypen RANDOM-punkt setzen INNERHALB eines BEREICHes Java Basics - Anfänger-Themen 2
TheKing Objekt um Punkt kreisen lassen Java Basics - Anfänger-Themen 7
W Regex mit Punkt Java Basics - Anfänger-Themen 2
T Punkt zeichnen auf sinus Java Basics - Anfänger-Themen 7
T mehrere methoden durch punkt getrennt Java Basics - Anfänger-Themen 2
R Meine erste Klasse: Punkt Java Basics - Anfänger-Themen 3
G Punkt auf Bildschirm erstellen? Java Basics - Anfänger-Themen 14
G bei double nur Wert vor Punkt ausgeben Java Basics - Anfänger-Themen 6
T Wie Eingabe von Gleitkommazahl mit Komma statt Punkt Java Basics - Anfänger-Themen 4
B Bestimmten Punkt im KOS ermitteln Java Basics - Anfänger-Themen 14
W Punkt statt Komma? Java Basics - Anfänger-Themen 2
G Punkt bz. Kugel Java Basics - Anfänger-Themen 6
K AWT: Punkt (0,0) hinter Titelzeile oder 'getTitelzeilenhöhe' Java Basics - Anfänger-Themen 5
G contains - Punkt in Kreis enthalten? Java Basics - Anfänger-Themen 6
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
I In unterschiedlichen Applikation Zugriff auf eine gemeinsame Anwendung? Java Basics - Anfänger-Themen 8
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
J Eine konzeptionelle Frage zu OOP Java Basics - Anfänger-Themen 3
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
M Vergleichen, ob eine Liste länger als andere ist Java Basics - Anfänger-Themen 6
T Methode soll etwas ausrechnen und zurückgeben (klappt nd) hat wer eine Idee? Java Basics - Anfänger-Themen 11
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
Kingdako Wie löse ich eine Mathematische Formel mit Arrays und Schleifen? Java Basics - Anfänger-Themen 32
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
G Wie wartet man bis ein URL eine Antwort zurückgibt? Java Basics - Anfänger-Themen 5
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
T Eingabe durch eine Zahl dividieren nachgucken? Java Basics - Anfänger-Themen 4
M mit Maven eine ausführbare Jar bauen Java Basics - Anfänger-Themen 7
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
J Zugriff auf eine 2. Klasse die per UI-Designer erstellt wurde Java Basics - Anfänger-Themen 1
M Eine Funktion zuweisen Java Basics - Anfänger-Themen 3
J Eine theoretische Frage zur Praxis - JPanel oder Canvas Java Basics - Anfänger-Themen 5
A Methoden Guten Tag , ich wollte so machen dass wenn meine frog an eine fly/bee geht dann an meine Tafel geht der zahl +1 hoch. Java Basics - Anfänger-Themen 2
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
J Beim Start des Programms zB. eine Linie in JPanel ausgeben Java Basics - Anfänger-Themen 4
L Methoden Eine Methode um zu testen ob es ein Nachbar gibt Java Basics - Anfänger-Themen 10
S Eine Idee umsetzen ganz schnell!? Java Basics - Anfänger-Themen 68
I Grundsatzfrage: Belegt eine Referenz auf 'null' RAM, und wenn ja - wieviel ;-) ? Java Basics - Anfänger-Themen 5
jeff98 Wie kann man in Java eine Zeichenformation ausgeben? Java Basics - Anfänger-Themen 9
K loop pausieren für eine bestimmte Anzahl? Java Basics - Anfänger-Themen 1
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
Thomas06 Wie kann man mithilfe von boolean herausfinden ob eine zahl durch 5 und 7 teilbart ist ? Java Basics - Anfänger-Themen 7
M Prüfen on eine Zahl im String enthalten ist Java Basics - Anfänger-Themen 3
U jUnit 5 Test für eine addMethode Java Basics - Anfänger-Themen 18
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
A Eclipse IDE - Wie bekomme ich eine ältere Version Java Basics - Anfänger-Themen 6
F Wie kann ich eine Funktion schreiben, die nur in bestimmten Fällen einen Wert zurückgibt? Java Basics - Anfänger-Themen 5
berserkerdq2 Warum muss man manchmal in der RUnmethode sleep in eine schleife tun? Java Basics - Anfänger-Themen 9
berserkerdq2 Findet eine parallele Verarbeitung in Java bei Threads erst statt, wenn man die Methoden auch synchronized? Und wie sieht bei Conditions aus? Java Basics - Anfänger-Themen 8
berserkerdq2 Wozu benötigt man den BiPredicate, kann ich nicht einfach eine normale Methode nutzen, statt BiPredicate? Java Basics - Anfänger-Themen 3
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
berserkerdq2 Sende eine Nachricht an den Client und leere den Ausgabestorm, was ist damit genau gemeint? Java Basics - Anfänger-Themen 3
S Eine Variable in einem Array speichern Java Basics - Anfänger-Themen 5
sserio Prüfen, ob eine Zahl eine periodische Zahl ist Java Basics - Anfänger-Themen 20
L Anpassung der Spaltenbreite auch auf eine zweite Tabelle anwenden Java Basics - Anfänger-Themen 8
NadimArazi Wie kann ich eine collision detection für die Paddles in meinem Pong Programm hinzufügen? Java Basics - Anfänger-Themen 4
JordenJost Java ist auch eine Insel für Anfänger Java Basics - Anfänger-Themen 2
berserkerdq2 Warum soll ich shuffle nutzen, um bei Rückgabewert Collection eine Liste zurückzugeben? Java Basics - Anfänger-Themen 3
berserkerdq2 Ich gebe eine ArrayList als List zurück per MEthode, wie kann ich nun aber die ArrayList speichern? Java Basics - Anfänger-Themen 46
berserkerdq2 Überprüfen ob eine Schreibberechtigung auf ein file exisitert bzw. ob man dieses file löschen kann, wie? Java Basics - Anfänger-Themen 9
sserio Java Fx, wie erstellt man einen EventHandler, der durch das Drücken eines Button Texte in eine Table view einfügt Java Basics - Anfänger-Themen 17

Ähnliche Java Themen

Neue Themen


Oben