跟着韩顺平老师写坦克大战,在实现敌人发送子弹功能模块遇见问题。
在Panel上,我方坦克移动功能和我方坦克发射的子弹的移动功能正常,而敌方坦克发射的子弹不能移动。
调试发现,敌方坦克启动shot线程正常,而敌方坦克子弹的坐标没有发生变化
检查给敌方坦克创建子弹对象(shot) 的代码,发现问题就出在没有给敌方坦克的子弹设置速度,那么,子弹的默认值就是0,因此在执行线程过程中,敌方坦克子弹的坐标没有发生改变。
修改代码,在
Shot shot = new Shot(enemy.getX() + 20, enemy.getY() + 60, enemy.getDirect());
后,设置子弹速度,敌方坦克子弹正常移动
shot.setSpeed(50);