import java.awt.BorderLayout;
import javax.swing.*;
import javax.media.j3d.*;
import javax.vecmath.*;
import com.sun.j3d.utils.behaviors.vp.OrbitBehavior;
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.universe.SimpleUniverse;
public class game0914 extends JFrame{
Canvas3D canvas3D;
SimpleUniverse simpleUniverse;
public game0914(String title){
super(title);
canvas3D =
new Canvas3D(SimpleUniverse.getPreferredConfiguration());
this.setLayout(new BorderLayout());
this.add(canvas3D, BorderLayout.CENTER);
simpleUniverse = new SimpleUniverse(canvas3D);
// 視点を設定している
simpleUniverse.getViewingPlatform().setNominalViewingTransform();
TransformGroup transform =
simpleUniverse.getViewingPlatform().getViewPlatformTransform();
BranchGroup objRoot = new BranchGroup();
Plate plate = new Plate();
ColorCube cb = new ColorCube(0.2);
objRoot.addChild(plate);
objRoot.addChild(cb);
// マウスでぐりぐり動かすための処理
setOrbitBehavior();
simpleUniverse.addBranchGraph(objRoot);
}
public void setOrbitBehavior() {
// マウスでぐりぐりするための処理
OrbitBehavior orbit = new OrbitBehavior(canvas3D, OrbitBehavior.REVERSE_ALL);
orbit.setSchedulingBounds(
new BoundingSphere(new Point3d(0, 0, 0), 100.0));
simpleUniverse.getViewingPlatform().setViewPlatformBehavior(orbit);
}
public static void main(String[] args) {
game0914 pl = new game0914("Plate Test");
pl.setSize(400,400);
pl.setVisible(true);
}
}
最終更新:2011年03月03日 23:08