Android Libgdx,Intersector.overlaps在失焦时未检查
我正在开发一款方块游戏。我有两个垂直方向的移动块。其中一个区块也在水平移动,就像公路战斗机中的自动移动汽车。我正在通过Intersector.overlaps检查块交互,但当我的块超出窗口(即位置小于0)时,我的重叠代码不起作用Android Libgdx,Intersector.overlaps在失焦时未检查,android,libgdx,collision-detection,Android,Libgdx,Collision Detection,我正在开发一款方块游戏。我有两个垂直方向的移动块。其中一个区块也在水平移动,就像公路战斗机中的自动移动汽车。我正在通过Intersector.overlaps检查块交互,但当我的块超出窗口(即位置小于0)时,我的重叠代码不起作用 if(Intersector.overlaps(block1.getBoundingRectangle(), block2.getBoundingRectangle())){ // do not update values }else{ //
if(Intersector.overlaps(block1.getBoundingRectangle(), block2.getBoundingRectangle())){
// do not update values
}else{
// update the values of block1 and block 2
}
public static int[] value={138,195,248,303};
public static boolean[] valueHolder={true,false,false,true};
public void update(float delta) {
velocity.set(0, backgroun.velocity.y-scrollSpeed);
position.add(velocity.cpy().scl(delta));
if(position.y>850){
isScrollableTop=true;
}
selfMove(delta);
if(position.y<-150){
position.y=-150;
}
carBoundingRectangle.setX(position.x);
carBoundingRectangle.setY(position.y);
}
private void changeArray() {
if(position.x>=138 && position.x<167){
if(!GameConstants.valueHolder[0]){
GameConstants.valueHolder[blockNumber]=false;
GameConstants.valueHolder[0]=true;
blockNumber=0;
}
}else if(position.x>=167 && position.x<222 ){
if(!GameConstants.valueHolder[1]){
GameConstants.valueHolder[blockNumber]=false;
GameConstants.valueHolder[1]=true;
blockNumber=1;
}
}else if(position.x>=222 && position.x<275){
if(!GameConstants.valueHolder[2]){
GameConstants.valueHolder[blockNumber]=false;
GameConstants.valueHolder[2]=true;
blockNumber=2;
}
}else if(position.x>=275 ){
if(!GameConstants.valueHolder[3]){
GameConstants.valueHolder[blockNumber]=false;
GameConstants.valueHolder[3]=true;
blockNumber=3;
}
}
}
提前感谢我们需要一些代码来告诉您问题所在。如果给它的边界重叠,它只会检查交线。因此,如果块不在您的视口中,您给它的边界是错误的。当块在屏幕上可见时,此代码起作用,但当块位置小于0时,即使重叠,我的代码也不起作用。请再给一些代码。给出Block类的代码。我的问题是,当块离开视图后重新生成时,会导致块重叠。原因是当我试图检查Intersector.overlaps时,当我的块不在视图中时,则我的Intersector.overlaps代码不起作用。对于selfMove,我只是更新x值