心血来潮想搞个小游戏,就寻思着用Java试试。以前总觉得Java是搞后台的料,做游戏?有点意思,但心里也没底。不过既然想,那就动手试试呗!
准备工作
先说下我的环境,一台老掉牙的笔记本,装JDK,IDE用的是IntelliJ IDEA,这玩意儿用着顺手。然后,因为是第一次用Java做游戏,心里还是有点小忐忑的,就上网扒拉一些资料,发现不少人都推荐用一些现成的游戏引擎或者框架,能省不少事。不过我这人就喜欢从头开始折腾,感觉这样才能学到真东西,这回就先不考虑那些。
从画个方块开始
游戏嘛总得有个画面。我就先从最简单的开始,画个方块。Java有个叫Java 2D的东西,可以用来画些基本的图形。我就用它来画个小方块,让它能在窗口里动起来。这一步挺关键的,虽然简单,但好歹是把游戏的“雏形”给弄出来,心里还是有点小激动的。
代码大概长这样:
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
- 先创建一个窗口(JFrame)
- 然后创建一个画布(JPanel),在上面画东西
- 用Graphics2D画个矩形
- 设置个定时器,让矩形动起来
就这么简单几步,一个小方块就在屏幕上活蹦乱跳。虽然简陋,但起码能动,这可是个好的开始!
加入一点“物理”
光是动还不够,还得有点“物理”的感觉。比如,让小方块碰到窗口边缘能弹回来,这样才像个样子。这就要用到一些简单的物理计算,比如速度、加速度、碰撞检测啥的。这些东西,上学的时候都学过,现在正好派上用场。不过真要自己写这些计算,还是挺费劲的。后来我在网上发现JBox2D这个东西,它是一个物理引擎,可以模拟真实世界的物理效果。有它,我就不用自己去写那些复杂的计算,省不少事。
用JBox2D后,感觉就是不一样:
- 创建物理世界
- 把小方块变成物理世界里的一个“刚体”
- 设置重力、摩擦力等参数
- 然后,就看着小方块在屏幕上“自由落体”,碰到边缘还能弹回来,像模像样的!
游戏逻辑
有画面和物理效果,接下来就是游戏逻辑。我做的是个简单的小游戏,逻辑也不复杂。大概就是控制小方块移动,躲避障碍物之类的。这部分,主要就是用Java代码来控制小方块的行为,比如按键盘上的方向键,小方块就往相应的方向移动。这部分写起来,感觉跟平时写业务代码差不多,没啥特别的。
一些感悟
这回用Java做小游戏的经历,让我对Java有新的认识。以前总觉得Java是用来做企业级应用的,跟游戏开发不搭边。但这回实践下来,发现Java也能做游戏,而且做出来的效果还不错。Java在图形渲染这块,确实不如专业的游戏引擎那么强大,但对于一些简单的小游戏,Java完全能胜任。
这回实践也让我体会到“造轮子”的乐趣。虽然现在有很多现成的游戏引擎和框架可以用,但自己从头开始写,能更深入地理解游戏开发的原理。如果真要做一个复杂的游戏,还是用现成的引擎比较毕竟能省很多时间和精力。这回用Java做小游戏的经历,还是挺有收获的!下次有机会,再试试用Java做个更复杂的游戏!