Farben/Color Abfragen von Farben innerhalb einer Methode

Also zunächst: ich verstehe icht mal so richtig was genau verlangt ist. Die Aufgabenstellung besagt: Die farbe des leuchtsterns die der Aufruf color(t) liefert, soll der Wert aus dem Konstruktor Aufruf sein.
Und weiter unten dann: Überlagern Sie außerdem die Methode toString() und erzeugen Sie eine Ausgabe der folgenden Art:
SimpleStar: [300, 400] (250, 100) -> (321, 29) Color: R=0,G=255,B=0

RGB-Farbwerte kann man bei der Oracle Webseite entnehmen.

Java:
// Abstrakte Oberklasse fuer bewegte Leuchtkugeln:
// ============================================================================

abstract class Star {
	// Die Zeitpunkte sind in Hunderstel Sekunden.
	// Wenn 20 Bilder pro Sekunde erzeugt werden,
	// wird nur jeder 5-te Wert angefragt.

	// Ist das Objekt sichtbar zum Zeitpunkt t?
	abstract boolean visible(int t);

	// Wenn das Objekt zum Zeitpunkt t nicht sichtbar
	// ist, spielen die Ergebnisse der folgenden
	// Methoden keine Rolle.

	// x-Position (Bereich 0 .. 500) zum Zeitpunkt t:
	abstract int posX(int t);

	// y-Position (Bereich 0 .. 500) zum Zeitpunkt t:
	abstract int posY(int t);

	// Farbe des Objektes zum Zeitpunkt t:
	abstract Color color(int t);

	// Radius der Leuchtkugel zum Zeitpunkt t (Pixel):
	abstract int size(int t);
}

// ============================================================================
// Hier Ihre Unterklasse(n) von Star (Leuchtkugeln):
// ============================================================================
class SimpleStar extends Star{
	int t;
	int t1;
	int t2;
	int x1;
	int x2;
	int y1;
	int y2;
	int x;
	int y;
	java.awt.Color farbe;
	
	public SimpleStar(int t1,int t2,int x1,int y1,int x2,int y2,java.awt.Color farbe) {
	this.farbe=farbe;
	this.t1=t1;
	this.t2=t2;
	this.x1=x1;
	this.x2=x2;
	this.y1=y1;
	this.y2=y2;
	}

	public boolean visible(int t) {
		if (t1<t&&t<t2)
			return true;
	}

	public int posX(int t){
	int x=x1+(x2-x1)*((t-t1)/(t2-t1));
	return x;
	}

	public int posY(int t){
	int y=y1+(y2-y1)*((t-t1)/(t2-t1));
	return y;
	}

	public int color(int t){
		int test=150;
		return test;
	}

	@Override int size(int t) {
	int size=3;
	return size;
	}
}

ich schätze mal um RGB abzufragen muss ich was mit den Methoden getGreen() getRed() und getBlue() machen oder?
 
Ich bin verwirrt, laut der Dokumentation müsste man das doch so schreiben können oder?:
Java:
public Color color(int t){
		Color test=green;
		return test;
	}

Als Fehlermeldung bekomme ich cannot find symbol mit dem Verweis auf green.
 
Zuletzt bearbeitet:
Ich bezweifel, dass die Dokumentation dir das so hergibt 😉
Was soll green denn sein? Und wofür machst du dir eine Variable Color test?

Mit freundlichen Grüßen
Xelsarion
 
dachte das würde die variable test auf grün initialisieren 😀 Hatte es vorher mit getGreen() porbiert im Sinne von z.B. Color test=getGreen(255) oder test.getGreen(). Aber hatte damit nciht wirklich Erfolg. Die Variable habe ich eingefügt, wei ich schon länger mit dieser methode Probleme habe und vorhin was austesten wollte. Aber denke mal die schadet dort nicht oder?
 
Die Farbe grün wird in der Klasse Color durch
Java:
Color.green
// oder
Color.GREEN
repräsentiert. Mit getGreen() erhälst du den Grünanteil in einer bestimmten Farbe!

Mit freundlichen Grüßen
Xelsarion
 
Weil es sich hierbei nicht um einen Befehl handelt sondern eine statische Variable in der Klasse Color Color (Java Platform SE 7 )
Da wurden einfach schon ein paar Farben vorinitialisiert damit sich der Programmierer diese nicht extra erstellen muss 😉
 
Zuletzt bearbeitet:

Zurück
Oben