这段源代码实现了在一个窗体中显示一个场景;以一个棋盘格做的地面,在地面上浮着一个蓝色的球体,在场景中有一个环境光和一个直射光,实现了用鼠标全角度的观察场景的功能。从某种意义上来说这的确实现了一部3D游戏最原始的框架。
代码是照着《Killer Game Programming in Java》一书中关于3D游戏制作的那部分写的,由于此书是英文版的据说在国内也买不到中文翻译版的,看得很费力,本人英文不好。只能慢慢的研究书中的源代码。
下面说明下源代码的文件功能
GameMain.java - 程序的入口。
ScreenManager.Java - 实现一个很简单的窗体类从JFrame派生,目前只返回一个窗体,以后可能实现最复杂的功能。
WrapCheckers3D.Java - 实现一个简单的3D场景类,能实现一个简单的鼠标操作。
CheckerFloor.Java - 实现一个国际象棋般的棋盘格做来场景中的地面。
ColouredTile.Java - 派生自Shape3D类,能实现一个正方体平面,用来为CheckerFloor类实现棋盘格
GameMain.Java
ScreenManager.Java
WrapCheckers3D.Java
CheckerFloor.Java
ColouredTile.Java