简体   繁体   English

爪哇。 碰撞检测

[英]Java. Collision detection

I write a simple collision detection using rectangles.我使用矩形编写了一个简单的碰撞检测。 I've to check overlapping in render method.我必须检查渲染方法中的重叠。 Could you tell me what's faster the first way:你能告诉我第一种方法更快吗:

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

Or the second way:或者第二种方式:

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
             }
}

The render() function is a loop, so the first way is obviously wrong - you create an object every frame - it's a loss of everything. render()函数是一个循环,所以第一种方法显然是错误的——你每帧都创建一个对象——它失去了一切。
The second way is definitely faster.第二种方式肯定更快。
I hope it helps!我希望它有帮助!
staticcasty静态铸造

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM