java - 使用 .overlaps 方法检测碰撞/重叠

标签 java android libgdx collision overlap

我正在尝试让这个基本应用程序检测两个 Sprite 的重叠,但什么也没有发生。按照有关此的教程进行操作,但它似乎对我不起作用。有什么想法吗?

相关代码

   Rectangle car;
    Array<Rectangle> carb;

public void render() {

        String scorer = String.valueOf(score);
        camera.update();
        batch.setProjectionMatrix(camera.combined);

        Iterator<Rectangle> iter = carb.iterator();
        while (iter.hasNext()) {
            Rectangle car2 = iter.next();
            car2.y -= score + 200 * Gdx.graphics.getDeltaTime();
            if (car2.y + 200 < 0) {
                iter.remove();
                score++;

                if (car.overlaps(car2)) {
                    System.out.println("Works");
                    iter.remove();

                }
            }
        }


private void spawnCar() {

    Rectangle car2 = new Rectangle();


    car = new Rectangle();

    lastSpawn = TimeUtils.nanoTime();

}

最佳答案

这里:

        if (car2.y + 200 < 0) {
            iter.remove();
            score++;

            if (car.overlaps(car2)) {
                System.out.println("Works");
                iter.remove();

            }
        }

只有在屏幕下方的矩形被移除时,您才会检查碰撞。这样做:

        if (car.overlaps(car2)) {
            System.out.println("Works");
            iter.remove();
        }
        if (car2.y + 200 < 0) {
            iter.remove();
            score++;
        }

关于java - 使用 .overlaps 方法检测碰撞/重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21952540/

相关文章:

java - LibGdx android 访问 .txt 文件并将其转换为字符串

java - 如何从 Firebase 获取特定的子值?

java - ConcurrentSkipListMap 排序

android - 使用改造 ResponseBody 的自定义消息错误

java - Libgdx TileMap : How should I do to load my ressources efficiently?

java - LibGDX 异常 : Exception in thread "LWJGL Application" java. lang.NullPointerException

java - 使用 Gson 或 Jackson 反序列化 JSON 时忽略空字段

java - 未记录的 API Sonar 规则在 sonarqube 6.5 中不起作用?

android - 如何将 Price 计算为 JSON 数据和 Post 数据的数量?

android - 如何使用 OpenCV 从图像中检测(计数)头发?