欢迎来到天天文库
浏览记录
ID:39634216
大小:146.50 KB
页数:15页
时间:2019-07-07
《一个简单的Java3D源代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一个简单的Java3D源代码收藏这段源代码实现了在一个窗体中显示一个场景;以一个棋盘格做的地面,在地面上浮着一个蓝色的球体,在场景中有一个环境光和一个直射光,实现了用鼠标全角度的观察场景的功能。从某种意义上来说这的确实现了一部3D游戏最原始的框架。代码是照着《KillerGameProgramminginJava》一书中关于3D游戏制作的那部分写的,由于此书是英文版的据说在国内也买不到中文翻译版的,看得很费力,本人英文不好。只能慢慢的研究书中的源代码。下面说明下源代码的文件功能GameMain.java-程序的入口。ScreenManager.Jav
2、a-实现一个很简单的窗体类从JFrame派生,目前只返回一个窗体,以后可能实现最复杂的功能。WrapCheckers3D.Java-实现一个简单的3D场景类,能实现一个简单的鼠标操作。CheckerFloor.Java-实现一个国际象棋般的棋盘格做来场景中的地面。ColouredTile.Java-派生自Shape3D类,能实现一个正方体平面,用来为CheckerFloor类实现棋盘格GameMain.Java1.import java.awt.event.WindowAdapter; 2.import java.awt.event.WindowE
3、vent; 3. 4.import javax.swing.JFrame; 5.import javax.swing.JOptionPane; 6. 7. 8.public class GameMain { 9. private static int scrWidth = 800; 1. private static int scrHeight = 600; 2. private static int scrBitdepth = 32; 3. private JFrame gameFrame; 4.
4、 private WrapCheckers3D wrap; 5. 6. public static void main(String[] args) 7. { 8. GameMain game = new GameMain(); 9. } 10. 11. public GameMain() 12. { 13. ScreenManager screen = new ScreenManager(scrWidth,scrHeight,scrBitdepth,"Jav
5、a 3D Test"); 14. screen.setWindowMode(); 15. gameFrame = screen.getFrame(); 16. wrap = new WrapCheckers3D(scrWidth,scrHeight); 17. gameFrame.add(wrap); 18. } 19. 20.} ScreenManager.Javaviewplaincopytoclipboardprint?·········10········2
6、0········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······1501.import java.awt.Dimension; 2.import java.awt.DisplayMode; 3.import java.awt.GraphicsDevice; 4.import java.awt.GraphicsEnvironment; 5.import
7、java.awt.Insets; 6.import java.awt.Toolkit; 7.import java.awt.event.WindowAdapter; 8.import java.awt.event.WindowEvent; 9. 10.import javax.swing.JFrame; 11.import javax.swing.JOptionPane; 12. 13. 14.public class ScreenManager { 15. 16. private GraphicsDevice devic
8、e; 17. private JFrame frame; 18. private Strin
此文档下载收益归作者所有