我的游戏在循环中运行。我在制作游戏的地板时遇到了麻烦,我目前有重力效应所以if(falling = true)
玩家会向下移动。我在我的角色中制作了矩形,以检测顶部getTop()
,底部getBottom()
,右getRight()
和左getLeft()
交叉点。问题是我不知道如何使用矩形创建我的地板。我不知道如何创建每32个可检测到的像素的矩形。
for(int i = 0; i < 10; i++){
Rectangle block = new Rectangle(blockX + 32 * i, blockY, 32, 32)
}
这成功地创建了矩形并正确渲染它们。但是当我在我的tick()
方法中测试交集时,它只适用于最后创建的矩形。
(我的勾选方法的例子)
if(getBottom().intersects(block)){
falling = false;
playerY = blockY+32;
}
if(!getTop().intersects(block)){
falling = true;
}
无论如何我可以制作多个(可能数百个)具有相同属性的矩形,但都可以检测到它们的相交。