Sprite Collisions,Invisible Rectangles

时间:2015-08-23 14:47:08

标签: java sprite

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

1 个答案:

答案 0 :(得分:0)

碰撞框不是绘制到屏幕的物理矩形。它们是通过一系列检查精灵边界的条件语句构造的。如果没有代码,很难给出一个例子,但是你可以在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;
    }