アットウィキロゴ

がめ1014

import javax.swing.*;
import java.awt.event.*;
import java.awt.BorderLayout;
import java.awt.GraphicsConfiguration;
import com.sun.j3d.utils.universe.*;
import javax.media.j3d.*;
import com.sun.j3d.utils.geometry.Box;
import javax.vecmath.*;

public class game1014 extends JFrame {
  public BranchGroup createSceneGraph() {
    BranchGroup objRoot = new BranchGroup();
    objRoot.addChild(createLight());
    Transform3D t3d = new Transform3D();
    Matrix4f matrix = new Matrix4f(1.0f, 0.0f, 0.0f, 0.5f,
                                   0.0f, 1.0f, 0.0f, 0.0f,
                                   0.0f, 0.0f, 1.0f, 0.0f,
                                   0.0f, 0.0f, 0.0f, 1.0f);
    t3d.set(matrix);

    TransformGroup objTrans = new TransformGroup(t3d);
    objRoot.addChild(objTrans);

    Appearance ap = new Appearance();
    Material ma = new Material();
    ma.setDiffuseColor(0.0f, 0.0f, 1.0f);
    ap.setMaterial(ma);

    Box box = new Box(0.1f,0.1f,0.1f,ap);

    objTrans.addChild(box);
    objRoot.compile();

    return objRoot;
  }

  private Light createLight(){
    DirectionalLight light = new DirectionalLight( true,
                             new Color3f(0.0f, 0.0f, 1.0f),
                             new Vector3f(0.0f, 0.0f, -1.0f));
    light.setInfluencingBounds(new BoundingSphere(new Point3d(), 100.0));
    return light;
  }

  public game1014() {
    getContentPane().setLayout(new BorderLayout());
    GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
    Canvas3D canvas = new Canvas3D(config);
    getContentPane().add(canvas, BorderLayout.CENTER);
    BranchGroup scene = createSceneGraph();
    SimpleUniverse universe = new SimpleUniverse(canvas);
    universe.getViewingPlatform().setNominalViewingTransform();
    universe.addBranchGraph(scene);
  }

  public static void main(String[] args) {
    game1014 sample = new game1014();
    sample.setBounds(0, 0, 500,500);
    sample.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    sample.setVisible(true);
  }
}
最終更新:2011年03月06日 23:22