我正在实施一个pacman克隆,现在我就是在那种情况下,我试图通过滑动移动角色。在某些情况下,方式是打开的,但canMove()返回false:S
这是canMove方法:
public boolean canMove(String direction,ArrayList<Tile> walls){
Rectangle testBound=new Rectangle();
switch(direction){
case "up":
testBound.set(posX,posY+movement,length,width);
break;
case "down":
testBound.set(posX,posY-movement,length,width);
break;
case "left":
testBound.set(posX-movement,posY,length,width);
break;
case "right":
testBound.set(posX+movement,posY,length,width);
break;
}
for(Tile f:walls){
if(testBound.overlaps(f.getBound())){
System.out.println(f.getPosX()+","+f.getPosY());
return false;
}
}
return true;
}
如果有人能告诉我我做错了什么,我真的很感激。请注意,两侧的矩形和字符都是相同的宽度和高度。