历时一个寒假多的时间,终于把小游戏阶段走完了,但是还有很多不足的地方,需要在今后的学习过程中不断地去完善、去改进。在做游戏的过程中,遇到很多的bug和不懂的地方,自己解决不了的,在学长和同学的帮助下及时解决。
一、游戏过程中遇到的问题及解决方法:
1.图片不能读取到(游戏中用到的是ImageUtil工具类,用到反射机制)
在学长的帮助下,通过百度查询等,发现不同地方的读取图片的路径是不同的。
2.重影的问题
JPanel支持双缓冲技术,可以消除闪烁,所以最好在JPanel上面绘制图形;“supper.”可以调用父类的方法(继承那一章节)。
3.渔网能隔空捕鱼或者捕不到鱼
碰撞检测的问题,鱼和网的不规则、抠图等造成范围大小的判断失误;尽量的缩小失误距离,紧贴鱼和网的四周画正方形,再进行尝试,找到最佳的值。
4.一条鱼一个线程
将鱼放到一个集合中,创一个线程
5.游戏暂停时仍能够捕鱼
碰撞检测在非暂停时才能用
6. 点击着鼠标左键不动,移动鼠标时,渔网不会随着鼠标移动
再添加一个mouseDragged方法
7.当点击“开始游戏”按钮多次时,会弹出多个游戏窗口
设定当点击一次时,会调用游戏窗口的方法,多次时只第一次点击调用,后面几次不调用。
二、收获及感受
通过此次做小游戏,明白了把理论应用于实践的不易性和重要性。要想做出一个完整的小游戏,你的逻辑要非常清晰,明白自己的每一板块代码是什么功能,这样有助于出现bug时你能快速的锁定范围,而且当你添加功能时你也有思路往哪添加,不会毫无头绪;做游戏时要注意游戏基本功能的实现,如开始界面中的“开始游戏”、“游戏说明”、“退出游戏”、结束界面等,这是每个小游戏基本都有的;在基本功能实现的基础上面再去美化界面;游戏还要有一定的游戏体验,不然就没有游戏的意义。同时也明白了,当你做一件事情不断的遇到问题时,不要慌、不要放弃,要自己学会排解压力,一个一个问题解决,坚持就是胜利!