Java碰撞检测问题

时间:2013-08-21 14:38:02

标签: java awt collision-detection java-2d

我正在尝试用Java制作一个简单的游戏,但我遇到了一些碰撞问题。这是一个游戏,你有一辆自行车,从一条车道跳到另一条车道,以避免岩石和收集硬币。我正在尝试使用intersects方法进行碰撞,我正在使用图像,因此我制作了与图片具有相同坐标和大小的矩形对象,并尝试使用intersects方法,但它永远不会返回true。我试图将矩形绘制到屏幕上,它们正在按原样移动。而现在我只是通过查看坐标是否相同来检查碰撞。但是只要我切换if语句并放入intersects方法,它们就会相互通过。因此,如果您只是通过查看代码看到任何问题,请回复!很高兴你的时间! P.S希望代码正确显示,因为我之前从未尝试在此网站上插入代码。 编辑:非常抱歉我的错误和慢编辑!我很忙,因为我刚从学校回家!

Rectangle heroRect;
  heroRect = new Rectangle(heroX,heroY,85,90);

对于每个物体,岩石,硬币,玩家,我都是这样做的。它们的大小不一样。

public void collision(){
        for(Rock rock : rocks){

        if(rock.rockRect.intersects(player.heroRect)){

            going = false;
            }

    }

        if(coin.getY() == player.getY() && coin.getX() == player.getX()){
            score++;
            try{
                Thread.sleep(5);
            }
            catch(Exception e){}
        }
}

这是检查碰撞检测的方法。第一个if语句是使用intersects方法,下面的那个是我当前用于测试的那个。我知道这与我使用arraylist for the rocks的事实无关,因为我已经尝试过两个岩石和硬币。

0 个答案:

没有答案