首页 > 解决方案 > 我做了一个循环来验证两个敌人正在碰撞,但它不起作用

问题描述

我在我的游戏中创建了一个循环,在敌人处创建两个矩形并验证它们是否正在碰撞(或应该验证)以将“true”返回到 if/else,这样它就可以防止敌人继续行走......但是它就是不行……

    public boolean isColiding(int xnext, int ynext) {
        Rectangle enemyCurrent = new Rectangle(xnext, ynext, World.TILE_SIZE, World.TILE_SIZE);
        for (int i = 0; i < Game.enemies.size(); i++) {
            Enemy e = Game.enemies.get(i);
            if (e == this)
                continue;
            Rectangle targetEnemy = new Rectangle(e.getX(), e.getY(), World.TILE_SIZE, World.TILE_SIZE);
            if (enemyCurrent.intersects(targetEnemy)) {
                System.out.println("returned!!");
                return true;
            }
        }
        return false;
    }

“Game.enemies”是一个包含所有敌人的列表。我做了一个函数,它自己渲染矩形并且它们被渲染属性,但它只是在循环中不起作用

标签: javagame-physics

解决方案


推荐阅读