你按键更新的是TankClient.x, 画图用的是Tank.x
你去掉TankClient.x, y,在PaintThread里面直接更新t.x, t.y即可

解决方案 »

  1.   

    Tank t = new Tank(x,y,true);
    我把TankClient的x,y传给了tank呀.
      

  2.   

    话说,你还是没明白传值传引用。
    你只在这一行 Tank.x = TankClient.x 注意是当前值,而不是两个人从此一辈子就“在一起”了。他们本来就是两个完全不同的人,只是在这一瞬间,TankClient.x 把自己的值(不是它自己)给了Tank.x,今后TankClient.x再怎么变化,和Tank.x都没关系,反之亦然