这个是因为坦克移动的时候刷新太快。没等看到效果就跑没了,你在它移动的时候要线程sleep一下,我以前看韩顺平老师的视频写的坦克是在坦克线程中休眠50ms,这样就能看到移动效果,下面的代码仅供参考:比如:switch(this.direct){ case 0://说明坦克正在向上移动 for(int i=0;i
简单的就是直接用二维数组的值表示砖块,判断子弹的坐标,然后修改数组上的数值达到比如子弹击中之后把(砖块1)改成(地面0)对于砖块的类型比较复杂的情况,用集合储存实例的时候,要注意因为子弹移动的过程中是要遍历集合判断是否接触的,所以在移除的时候对于ArrayList等一些集合会抛出异常。
用随机数啊。。。用Random类或者Math.random()去取得随机数(怎么用查API)如果是随机地点 Random r = new Random();int x = r.nextInt(100);int y = r.nextInt(100);随机物品属性 int flag = r.nextInt(5);switch(flag){ case 0:属性0物品;break:case 1:属性1物品;break:case 2:...
public void setFullScreenWindow(Window w)进入全屏模式,或返回窗口化模式。进入的全屏模式可以是独占的,也可以是模拟的。只有 isFullScreenSupported 返回 true 时,独占模式才可用。独占模式意味着:Windows 无法重叠全屏窗口。所有其他应用程序窗口总是以 Z-order 出现在全屏窗口后面。任何时候设备上都...
从题目看你的tank是正方形的,但是你在判断是否碰撞时只用了其中的一个点这是不对的,应该用当前tank运动方向上最前面的那根线去判断是否碰撞。即 case 0: if (this.x>=dt.x&&this.x=dt.y&&this.y=dt.x&&this.x+30