Hallo, habe folgenden Code ausschnitt der mir 10 ColorCubes erzeugt:
Hier zu erst mal folgende Fragen.
1. Wenn ich das Programm ausführen lasse dann zeigt es mit 9 kleine gleich große wurfel an un der letzte ist dagegen gigantisch. Eigentlich sollten sie alle immer ein wenig größer werden.
2. Kann man den code optimieren?
jetzt wollte ich den Code einwenig auslagern:
Jetzt kann ich aber nur noch ein Würfel sehen. Wo ist der Denkfehler?
Ich danke schon mal für eure Hilfe
Java:
public BranchGroup createSceneGraph() {
BranchGroup objRoot = new BranchGroup();
Transform3D formen =new Transform3D();
TransformGroup transgruppe[] = new TransformGroup[10];
TransformGroup alle = new TransformGroup();
int i=0;
for (i=0;i<10;i++){
transgruppe[i]=new TransformGroup();
formen.setTranslation (new Vector3f (0, i, 0));
transgruppe[i].setTransform(formen);
transgruppe[i].addChild(addColorCube(new ColorCube(0.1+((i+1)/10))));
alle.addChild(transgruppe[i]);
}
objRoot.addChild (alle);
...
objRoot.compile ();
return objRoot;
}
Hier zu erst mal folgende Fragen.
1. Wenn ich das Programm ausführen lasse dann zeigt es mit 9 kleine gleich große wurfel an un der letzte ist dagegen gigantisch. Eigentlich sollten sie alle immer ein wenig größer werden.
2. Kann man den code optimieren?
jetzt wollte ich den Code einwenig auslagern:
Java:
for (i=0;i<10;i++){
werteSetzen(0,i,0,0,0,0);
transgruppe[i].addChild(addColorCube(new ColorCube(0.1+((i+1)/10))));
}
Java:
public TransformGroup addColorCube (ColorCube Form) {
Transform3D trans = new Transform3D();
trans.setTranslation(new Vector3f (x, y, z));
trans.rotX (Math.PI*2 * xRot);
trans.rotY (Math.PI*2 * yRot);
trans.rotZ (Math.PI*2 * zRot);
TransformGroup TG = new TransformGroup (trans);
TG.addChild (Form);
return TG;
}
Java:
public void werteSetzen(int xn,int yn,int zn,int xRn,int yRn,int zRn){
x=xn; y=yn; z=zn;
xRot=xRn; yRot=yRn; zRot=zRn;
}
Jetzt kann ich aber nur noch ein Würfel sehen. Wo ist der Denkfehler?
Ich danke schon mal für eure Hilfe