精灵碰撞,不可见的矩形

Sprite Collisions, Invisible Rectangles

作为一名程序员,我唯一的兴趣是制作游戏,为此精灵碰撞是绝对必要的我已经知道我的精灵周围需要一个矩形,但我如何才能不让用户看到它?我想在背景之前画它,但你们还有其他方法吗?

碰撞框不是绘制到屏幕上的物理矩形。它们是通过一系列检查精灵边界的条件语句构建的。没有代码很难给出示例,但您可以在 YouTube 上的许多教程中找到此过程的示例。

例如,从DesignsByZepher's Tutorials中获取这段代码:

public boolean hasCollided(int xa,int ya) {
        int xMin = 0;
        int xMax = 7;
        int yMin = 3;
        int yMax = 7;

        for (int x = xMin; x < xMax; x++)   {
            if (isSolidTile(xa,ya,x,yMin))  {
                return true;
            }
        }
        for (int x = xMin; x < xMax; x++)   {
            if (isSolidTile(xa,ya,x,yMax))  {
                return true;
            }
        }
        for (int y = yMin; y < xMax; y++)   {
            if (isSolidTile(xa,ya,xMin,y))  {
                return true;
            }
        }
        for (int y = yMin; y < xMax; y++)   {
            if (isSolidTile(xa,ya,xMax,y))  {
                return true;
            }
        }
        return false;
    }