在我正在构建的游戏中,我制作了一个基本的碰撞检测系统。
我目前的方法解释如下:
我在下一步的游戏中锻炼玩家的位置:
double checkforx = x+vx;
double checkfory = y+vy;
然后我检查是否与 mapArray 中的块 (1) 发生冲突。
public static Boolean checkForMapCollisions(double character_x,double character_y){
//First find our position in the map so we can check for things...
int map_x = (int) Math.round((character_x-10)/20);
int map_y = (int) Math.round((character_y-10)/20);
//Now find out where our bottom corner is on the map
int map_ex = (int) Math.round((character_x+10)/20);
int map_ey = (int) Math.round((character_y+10)/20);
//Now check if there's anything in the way of our character being there...
try{
for(int y = map_y; y <= map_ey; y++){
for(int x = map_x; x <= map_ex; x++){
if (levelArray[y][x] == 1){
return true;
}
}
}
}catch (Exception e){
System.out.println("Player outside the map");
}
return false;
}
如果返回 true {无}
如果返回 false {玩家物理}
我需要玩家能够降落在一个街区然后能够四处走动,但我找不到足够的教程。
有人可以告诉我如何运行我的碰撞检测和/或运动吗?