Hallo, hier ist meine Erste Klasse:
import GLOOP.*;
class Kerzenszene{
GLKamera kamera;
Kerze kerze,k2,k3,k4;
GLTorus torus;
Untergrund untergrund;
GLTastatur tastatur;
int y;
Kerzenszene(){
kamera = new GLKamera(800,600);
kamera.setzePosition(0,300,500);
kerze = new Kerze(100,100,250,50);
k2 = new Kerze(100,-100,250,50);
k3 = new Kerze(-100,100,250,50);
k4 = new Kerze(-100,-100,250,50);
torus = new GLTorus (0,0,10,300,65);
torus.setzeDrehung(90,0,0);
torus.setzeTextur("gras.jpg");
untergrund = new Untergrund();
tastatur = new GLTastatur();
y=1;
fuehreAus();
}
public void fuehreAus(){
while (y==1){
if(tastatur.istGedrueckt('a')){
kerze.aus();
k2.aus();
k3.aus();
k4.aus();
}
if(tastatur.istGedrueckt('q')){
kerze.an();
k2.an();
k3.an();
k4.an();
}
if(kerze.an){
kerze.brenneAb();
k2.brenneAb();
k3.brenneAb();
k4.brenneAb();
}
if(tastatur.istGedrueckt('1')){
kerze.aus();
}
Sys.warte();
}
}
}
hier die 2:
import GLOOP.*;
class Kerze{
GLZylinder koerper,docht;
GLLicht flamme;
double dicke;
double laenge;
GLTastatur key;
boolean an=true;
boolean an2=true;
boolean an3=true;
boolean an4=true;
Kerze(double px,double py,double plaenge,double pdicke){
//Kerzenkörper erstellen
laenge = plaenge;
dicke = pdicke;
koerper = new GLZylinder (px,plaenge/2,py, pdicke,plaenge);
koerper.drehe(90,0,0);
koerper.setzeFarbe(1,0,0);
//Docht erstellen
docht = new GLZylinder (px, plaenge/2, py,5,plaenge+20);
docht.drehe(90,0,0);
docht.setzeFarbe(0,0,0);
//Flamme erstellen
flamme = new GLLicht(px,plaenge+25,py);
flamme.setzeSichtbarkeit(true);
flamme.setzeFarbe(1,1,0.5);
flamme.skaliere(1,2,1);
}
public void an(){
flamme.setzeSichtbarkeit(true);
an = true;
}
public void aus(){
flamme.setzeSichtbarkeit(false);
an = false;
}
public void brenneAb(){
if (an){
double g = (70/dicke) /1000;
koerper.skaliere(1,1,1.0-(g/laenge));
koerper.verschiebe(0,-g/2,0);
docht.verschiebe(0,-g,0);
flamme.verschiebe(0,-g,0);
laenge=laenge-g;
}
}
}
Warum brennen die anderen Kerzen nicht weiter ab wenn ich eine ausschalte? LG