Fight Travel开发日志(6)

  这几天都没有写开发日志,忙到没有时间写...说到为什么要写开发日志,我觉得写开发日志,是记录一个程序员成长的最好方法。以前我大一刚来到学校的时候,自己做的第一个项目,C语言编写的图书馆管理系统。虽然说那个项目做得很简单,但是基本功能都实现了,界面是用conio.h这个古老的图形库写的,外观非常像BIOS界面- -。当时也写了四篇开发日志,看着当时那个技术非常水的我,觉得挺好笑的,不过我也要感谢当时的我那么努力,不然我现在还是那么水,这些日志真的记录我的IT生涯的成长经历。

  查资料发现,原来Java3D已经封装好碰撞检测的方法了,编写一个类,然后继承Behavior类,复写相应的方法就可以了。我是在网上找来的一份论文,上面有介绍Java3D的碰撞检测。不过上面也写到Java3D的碰撞检测误差很大,Java3D为了减少碰撞检测的计算量,检测的碰撞范围只是简单的在模型用边界球或者是边界矩形包围起来。论文上也介绍了优化的办法,就是用多边形的边界。但是这个方法涉及了一些关于线性代数的知识。我看完之后就没有使用这个方法,因为太麻烦了。如果是调用的模型是wrl文件格式的,则还要自行编写一个解析wrl文件的方法,获取相关的数据然后用线性代数构造一个多边形边界。

  对于我而言,为了简化我的工作量,我测试的时候用的东西都是由一些正方体和球的模型...也许这样做起来比较简单,不过我想做得cute一点也还好,可以弥补一下模型的单一问题。碰撞检测算是做好了。做了一下测试,这个游戏基本上是可以玩了,只是素材丑了一点。对于程序员来说,美工真的是一大烦恼啊。以后要是有时间还是要好好学习一下美工才行- -不过现在做项目都是,开三扩展屏幕,一个显示屏放photoshop或者是3DS MAX的教程。另外的两个屏幕一个用于写代码,一个用于上谷歌查资料。多扩展屏还是能提高程序员的工作效率的。

  即使现在的碰撞检测还是用着Java3D不完善的碰撞检测,但是我以后还是会自己思考一下碰撞检测的算法设计和优化的。这样地图才能做到多样化一点。好吧,好好加油!Go!

你可能感兴趣的:(java,工作,优化,测试,扩展,behavior)