一个简单的Java 3D源代码
这段源代码实现了在一个窗体中显示一个场景;以一个棋盘格做的地面,在地面上浮着一个蓝色的球体,在场景中有一个环境光和一个直射光,实现了用鼠标全角度的观察场景的功能。从某种意义上来说这的确实现了一部3D游戏最原始的框架。
代码是照着《Killer Game Programming in Java》一书中关于3D游戏制作的那部分写的,由于此书是英文版的据说在国内也买不到中文翻译版的,看得很费力,本人英文不好。只能慢慢的研究书中的源代码。
下面说明下源代码的文件功能
GameMain.java - 程序的入口。
ScreenManager.Java - 实现一个很简单的窗体类从JFrame派生,目前只返回一个窗体,以后可能实现最复杂的功能。
WrapCheckers3D.Java - 实现一个简单的3D场景类,能实现一个简单的鼠标操作。
CheckerFloor.Java - 实现一个国际象棋般的棋盘格做来场景中的地面。
ColouredTile.Java - 派生自Shape3D类,能实现一个正方体平面,用来为CheckerFloor类实现棋盘格
GameMain.Java
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class GameMain {
private static int scrWidth = 800;
private static int scrHeight = 600;
private static int scrBitdepth = 32;
private JFrame gameFrame;
private WrapCheckers3D wrap;
public static void main(String[] args)
{
GameMain game = new GameMain();
}
public GameMain()
{
ScreenManager screen = new ScreenManager(scrWidth,scrHeight,scrBitdepth,"Java 3D Test");
screen.setWindowMode();
gameFrame = screen.getFrame();
wrap = new WrapCheckers3D(scrWidth,scrHeight);
gameFrame.add(wrap);
}
}
ScreenManager.Java
import java.awt.Dimension;
import java.awt.DisplayMode;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class ScreenManager {
private GraphicsDevice device;
private JFrame frame;
private String title;
private boolean isResizable;
private boolean isWindowM
相关文档:
这段时间开始学习写存储过程,主要原因还是因为工作需要吧,本来以为很简单的,但几经挫折,豪气消磨殆尽,但总算搞通了,为了避免后来者少走弯路,特记述与此,同时亦对自己进行鼓励。
一:无返回值的存储过程
存储过程为:
CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) AS
BEGIN
......
本文来自和你在一起的博客,原文标题:《JVM调优总结(二)-一些概念》。本文总结了JVM概念中的Java对象的大小,以及三种引用类型的定义与区分。 基本数据的类型的大小是固定的,这里就不多说了。对于非基本类型的Java对象,其大小就值得商榷。 在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任 ......
本篇内容系统JAVA基础知识介绍,适用于初学者和复习的朋友阅读。作为本人,虽尽量查阅各种书籍,但是仍难避免各种错误和不当,还请看过并发现其中错误的朋友指正。
一.简介
1.Green Team小组与JAVA
&nb ......
javax.swing.plaf.metal.MetalLookAndFeel
com.sun.java.swing.plaf.windows.WindowsLookAndFeel
com.sun.java.swing.plaf.motif.MotifLookAndFeel
com.sun.java.swing.plaf.mac.MacLookAndFeel
com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel //java6新皮肤,玻璃透明
我的资源中有相关 java swing 方面的教程,j ......