Moin.
Hoffe ihr könnt mir wieder mal helfen.
Erst einmal kurz mein vorhaben:
Ich wollte mich etwas mit Java2D auseinandersetzen.
Dazu habe ich eine einfache, kleine Particleengine geschrieben.
Ich habe einen Punkt, aus dem viele Sterne kommen sollen und diese sollen ein Stück weit fliegen und sich dann langsam auflösen (und dabei die Farbe ändern). Als Particle soll ein einfaches 32-Bit PNG genommen werden.
Es ist ein weißer Stern auf transparentem Hintergrund.
Wenn ich das ganze komplett ohne Farbe zeichnen lasse, funktioniert es ganz gut, wie man auf dem schwarz/weiß Bild sehen kann, sind die Sterne transparent.
Sobald ich aber Farbe hinzufüge, wird das gesamte 32x32px Bild eingefärbt und nicht nur der Stern, wie ich es gerne hätte.
Also kann es ja eigentlich nicht am Bild selbst liegen?!
Naja einfach nur mal ein wenig Quelltext, wie ich das Bild lade und zeichne:
Das sollten eigentlich schon alle relevanten Stellen sein.
Ich habe schon etwas mit setComposite rumgespielt, jedoch mit genau dem selben Ergebnis.
Vielleicht ist es ja ganz einfach?
Hoffe ihr habt ein paar Tipps für mich!
Danke schonmal!
MfG
conehead
Hoffe ihr könnt mir wieder mal helfen.
Erst einmal kurz mein vorhaben:
Ich wollte mich etwas mit Java2D auseinandersetzen.
Dazu habe ich eine einfache, kleine Particleengine geschrieben.
Ich habe einen Punkt, aus dem viele Sterne kommen sollen und diese sollen ein Stück weit fliegen und sich dann langsam auflösen (und dabei die Farbe ändern). Als Particle soll ein einfaches 32-Bit PNG genommen werden.
Es ist ein weißer Stern auf transparentem Hintergrund.
Wenn ich das ganze komplett ohne Farbe zeichnen lasse, funktioniert es ganz gut, wie man auf dem schwarz/weiß Bild sehen kann, sind die Sterne transparent.
Sobald ich aber Farbe hinzufüge, wird das gesamte 32x32px Bild eingefärbt und nicht nur der Stern, wie ich es gerne hätte.
Also kann es ja eigentlich nicht am Bild selbst liegen?!
Naja einfach nur mal ein wenig Quelltext, wie ich das Bild lade und zeichne:
Java:
//Farbangaben inc. Alphawert
public Color beginColor = new Color(0,255, 210,255);
public Color endColor = new Color(255, 246, 0,0);
//Laden des Bildes
ImageIcon i = new ImageIcon("star.png");
Image texture = i.getImage();
//Ausgeben des Bildes ohne Farbe (Bild1)
g2d.drawImage(texture, (int) particleList.get(i).position.x,(int) particleList.get(i).position.y, null);
//Ausgeben des Bildes mit Farbe (Bild2)
g2d.drawImage(texture, (int) particleList.get(i).position.x,(int) particleList.get(i).position.y, particleList.get(i).color, null);
Das sollten eigentlich schon alle relevanten Stellen sein.
Ich habe schon etwas mit setComposite rumgespielt, jedoch mit genau dem selben Ergebnis.
Vielleicht ist es ja ganz einfach?
Hoffe ihr habt ein paar Tipps für mich!
Danke schonmal!
MfG
conehead