Java的。碰撞检测

时间:2015-12-08 17:06:24

标签: java libgdx

我使用矩形编写一个简单的碰撞检测。我在渲染方法中检查重叠。你能告诉我第一种方式更快吗?

render()
    {
        Rectangle playerRectangle = new Rectangle(
                        playerTransformComponent.x,
                        playerTransformComponent.y,
                        playerDimensionsComponent.width,
                        playerDimensionsComponent.height);
                for(Rectangle block : blocksList){
                  //check collision
                 }
    }

或者第二种方式:

Rectangle playerRectangle = new Rectangle();
render()
{
    playerRectangle.x = playerTransformComponent.x;
    playerRectangle.y = playerTransformComponent.y;
    playerRectangle.width = playerDimensionsComponent.width;
    playerRectangle.height = playerDimensionsComponent.height;
    for(Rectangle block : blocksList){
              //check collision
             }
}

1 个答案:

答案 0 :(得分:0)

render()函数是一个循环,所以第一种方法显然是错误的 - 你每帧都创建一个对象 - 它丢失了一切。
第二种方式肯定更快 我希望它有所帮助! staticcasty