Hi,
Ich habe mich an einem Beispielapplet zur Rotation eines Farbwüürfels um 2 Achsen probiert. Compilieren und Builden ging ohne Probleme, allerdings wird mir das Applet nicht richtig aufgebaut. Es wird nur gemeldet, dass das applet gestartet wurde.
Der Code sieht wie folgt aus:
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.event.;
import java.awt.GraphicsConfiguration;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.universe.;
import javax.media.j3d.;
import javax.vecmath.;
public class HelloUniverse4 extends Applet {
private SimpleUniverse u = null;
public BranchGroup createSceneGraph() {
BranchGroup objRoot = new BranchGroup();
//rotate object has composite transformation matrix
Transform3D rotate =new Transform3D();
Transform3D tempRotate =new Transform3D();
rotate.rotX(Math.PI/4.0d);
tempRotate.rotY(Math.PI/5.0d);
rotate.mul(tempRotate);
TransformGroup objRotate =new TransformGroup(rotate);
//Create the transform group node and initialize it to the
//identity.Enable the TRANSFORM_WRITE capability so that
//our behavior code can modify it at runtime.Add it to the
//root of the subgraph.
TransformGroup objSpin =new TransformGroup();
objSpin.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objRoot.addChild(objRotate);
objRotate.addChild(objSpin);
//Create a simple shape leaf node,add it to the scene graph.
//ColorCube is a Convenience Utility class
objSpin.addChild(new ColorCube(0.4));
//Create a new Behavior object that performs the desired
//operation on the specified transform object and add it into
//the scene graph.
Transform3D yAxis =new Transform3D();
Alpha rotationAlpha =new Alpha(-1,4000);
RotationInterpolator rotator =
new RotationInterpolator(rotationAlpha,objSpin,yAxis,
0.0f,(float)Math.PI*2.0f);
//a bounding sphere specifies a region a behavior is active
//create a sphere centered at the origin with radius of 1
BoundingSphere bounds =new BoundingSphere();
rotator.setSchedulingBounds(bounds);
objSpin.addChild(rotator);
return objRoot;
}
}
//end of createSceneGraph method of HelloJava3Dd
Gruss
Ruprecht