学习B站韩顺平老师的 Java 基础课时遇到的

Debug

  1. 在获取炸弹的那一行设置断点:

  2. 然后对敌方坦克射击,子弹接触到地方坦克时到达断点

  3. 此时查看变量数据,发现有 image1 变量(也就是存爆炸图片的),但是点击右侧 show image 显示没有数据

  4. 继续执行,发现在第一个炸弹爆炸的过程中,三个 image 变量均显示 no data

到这里大概就明白了,在第一次画图片时图片还未加载,我也觉得很离谱。更离谱的是:

  1. 在逐步执行点击多个 image 变量的 show Image 之后,下一轮,也就是炸弹的生命周期还未结束时,再点击会显示出图片在加载,再下一轮会显示图片,也就是手动 debug 的这个过程促使了图片的加载,接下来执行会发现成功画出了炸弹爆炸的图片

原因

获取图片的方法 toolkit 本身的问题

解决方法

  1. 在绘制炸弹爆炸之前 Thread.sleep 一下,可以 10 ns,如果不行再多一些

  2. 据说韩老师后面会用另一个工具类,解决这个问题

坦克大战第一个不爆炸相关推荐

  1. java怎么连发子弹_【Java_项目篇1】--JAVA实现坦克大战游戏--子弹连发+爆炸效果(四)...

    前期相关文章 [Java_项目篇<1>]–JAVA实现坦克大战游戏–画出坦克(一) [Java_项目篇<1>]–JAVA实现坦克大战游戏–坦克移动+添加敌方坦克(二) [Jav ...

  2. java画好看坦克_坦克大战第一节——画出自己的坦克(新手篇)

    刚刚开始学习java,对java不是很熟悉,但是自己的兴趣挺喜欢java.现在自己在自学java做一个小游戏,坦克大战. 自己现在完成了画出自己的坦克和坦克的移动方向.希望各位大神指导一下我这个刚刚学 ...

  3. 坦克大战第一节——画出自己的坦克(新手篇)

    刚刚开始学习Java,对Java不是很熟悉,但是自己的兴趣挺喜欢Java.现在自己在自学Java做一个小游戏,坦克大战. 自己现在完成了画出自己的坦克和坦克的移动方向.希望各位大神指导一下我这个刚刚学 ...

  4. 坦克大战第一阶段代码

    package tanke.game;import javax.swing.*; import java.awt.*; import java.awt.event.KeyEvent; import j ...

  5. 坦克大战java_清华毕业大佬用一个坦克大战项目讲完了23种设计模式

    先给大家讲述一下坦克大战是怎么进行运行的. 坦克大战第一节: new 出一个窗口: 设定标题栏内容: TankFrame从Frame继承+显示: 认识paint方法,重写: 坦克大战第二节 学习gra ...

  6. C# - 课程流水线总结:计算器/计时器/我的画笔/中国象棋/坦克大战

    2020年6月末更新: 所有的源码我都传到GitHub上面去啦 点击前往GitHub 写博客这个事,还是要讲究时效性 今天补一下这学期上c#做的东西 计算器/计时器/我的画笔/中国象棋/坦克大战 第一 ...

  7. 坦克大战项目需求文档

    01_坦克大战案例演示  * 略     1. 创建游戏窗体     2. 绘制地图(阻碍物,坦克)     3. 坦克可以移动,也可以发射子弹     4. 碰撞(坦克和阻碍物的碰撞,子弹和阻碍物的 ...

  8. 第一个小项目——坦克大战

    坦克大战 TankWar0.1 该版本要做的很简单,建立一个窗口就可以,原始的大的类继承Frame方法,在main函数可以对原始大类进行初始化或赋值,大类中定义一个方法launch,主函数中定义类调用 ...

  9. 微信小游戏制作坦克大战(六)碰撞检测,主角坦克碰到敌方坦克、炮弹爆炸

    微信小游戏制作坦克大战(六)碰撞检测,主角坦克碰到敌方坦克.炮弹爆炸 导入坦克爆炸效果的图片和声音素材 给主角坦克添加事件 给爆炸动画添加事件 当主角坦克碰到敌方坦克或者炮弹时显示爆炸效果 下一篇文章 ...

最新文章

  1. HBase单机模式部署
  2. ASP.NET MVC 概述
  3. CSS3+jQuery实现时钟插件
  4. STL algorithm算法merge(34)
  5. CTFshow php特性 web149
  6. android ppt下载地址,Microsoft PowerPoint下载
  7. openssl 生成证书_使用证书和私钥导出P12格式个人证书!
  8. 深入理解java虚拟机--线程安全与锁优化
  9. foreach 页面超时php,解决php运行超时的方法
  10. YiShaAdmin_项目的默认 XML 命名空间必须为 MSBuild XML 命名空间。如果项目是用 MSBuild 2003 格式---.Net_C#_若依.Net版Web框架使用及改造001
  11. Docker教程小白实操入门(14)--如何使用CMD和ENTRYPOINT指令指定容器启动时要运行的命令
  12. shell中find某个文件排除某个目录
  13. 爆品思维——TRIZ创新方法在工作中的运用--张维明老师--沪师刘建
  14. 烧洋芋、苞谷、饵块和昭通酱
  15. 工具“正确”打开方式——如何用notion来谈恋爱
  16. c语言图形化界面开发 (一)
  17. 7、MyBatis分页
  18. 使用mybatis注解实现模糊查询
  19. IT及计算机相关网站 列表
  20. 域名不备案可以访问吗 域名购买后如何域名备案

热门文章

  1. PHP关闭Notice错误提示
  2. 有哪些好用的读书笔记app
  3. 使用gatekeeper限制kubernetes创建特定类型的资源
  4. 表格维护生成器-部分字段不能修改或不能看见
  5. Web前端_邮箱的正则表达式
  6. vue/cli删除预设记录
  7. 关于新光源中我想做的事
  8. C语言二级必须编译吗,c语言是计算机二级吗
  9. python做动态表情包下载_用 Python 开发一个【GIF表情包制作神器】
  10. 由浅入深学习Flash制作高射炮游戏(2)