学习B站韩顺平老师的 Java 基础课时遇到的
Debug
-
在获取炸弹的那一行设置断点:

-
然后对敌方坦克射击,子弹接触到地方坦克时到达断点
-
此时查看变量数据,发现有 image1 变量(也就是存爆炸图片的),但是点击右侧 show image 显示没有数据

-
继续执行,发现在第一个炸弹爆炸的过程中,三个 image 变量均显示 no data
到这里大概就明白了,在第一次画图片时图片还未加载,我也觉得很离谱。更离谱的是:
- 在逐步执行点击多个 image 变量的 show Image 之后,下一轮,也就是炸弹的生命周期还未结束时,再点击会显示出图片在加载,再下一轮会显示图片,也就是手动 debug 的这个过程促使了图片的加载,接下来执行会发现成功画出了炸弹爆炸的图片

原因
获取图片的方法 toolkit 本身的问题
解决方法
-
在绘制炸弹爆炸之前 Thread.sleep 一下,可以 10 ns,如果不行再多一些

-
据说韩老师后面会用另一个工具类,解决这个问题
在学习韩顺平老师的Java基础课程中,遇到游戏内炸弹爆炸图片无法正常加载的问题。通过debug发现图片加载存在延迟,导致未能及时显示。解决办法是在绘制前加入Thread.sleep短暂暂停。
5340





