碰撞检测Libgdx

时间:2014-09-17 12:44:41

标签: java android libgdx collision

我在使用TiledMap进行碰撞检测时遇到问题。 在tilesMap中,我有一个rectangleMapObject,然后我有一个精灵,它停留在渲染TiledMap的相机的相同相机矩阵中。 精灵向上移动。

这是主要代码:

//tiledmap is my object that wrapper tiledmap class



public static boolean collision(Sprite car){

            ArrayList<RectangleMapObject> objectsLayer=getObjectsFromLayer("layerCollision");
            return objectsLayer.get(0).getRectangle().overlaps(car.getBoundingRectangle());
     }


     public static ArrayList<RectangleMapObject> getObjectsFromLayer(String layerName){

            ArrayList<RectangleMapObject> array=new ArrayList<RectangleMapObject>();

            MapLayer layer=tiledMap.getMap().getLayers().get(layerName);
            if(layer!=null){
            MapObjects objects=layer.getObjects();

            for(MapObject object : objects)
                if (object instanceof RectangleMapObject) 
                    array.add(((RectangleMapObject) object));
            }
            return array;
        }

我的问题是,即使精灵位于矩形之上,第一种方法也总是返回false。

那是什么错误?

尝试一下我也做了这个:

return car.getBoundingRectangle().overlaps(car.getBoundingRectangle());

但它总是返回

0 个答案:

没有答案