アットウィキロゴ

j0914

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