Java 通过碰撞检测增量获得游戏分数

Java 通过碰撞检测增量获得游戏分数,java,processing,Java,Processing,因此,我有一个游戏,如果我的用户与图像发生碰撞,它将增加1分。但是,因为我使用这种碰撞检测方法和if语句来增加分数,所以在碰撞持续期间,分数将上升约30,因为碰撞方法在它们彼此通过时多次检测到碰撞。我如何阻止它每次递增一个以上。 这是我的密码: void draw(){ 如果(游戏模式==活动){ 如果(崩溃()==false){ 牵引杆接地(); 文本大小(32); 填充(22100,8); text(“Score:+Score,20,40);//调用trackground方法 alien1.

因此,我有一个游戏,如果我的用户与图像发生碰撞,它将增加1分。但是,因为我使用这种碰撞检测方法和if语句来增加分数,所以在碰撞持续期间,分数将上升约30,因为碰撞方法在它们彼此通过时多次检测到碰撞。我如何阻止它每次递增一个以上。 这是我的密码:

void draw(){
如果(游戏模式==活动){
如果(崩溃()==false){
牵引杆接地();
文本大小(32);
填充(22100,8);
text(“Score:+Score,20,40);//调用trackground方法
alien1.update();
alien2.update();//不断调用alien和defender的move和render方法
alien3.update();
user1.render();
Burger.update();
if(Bcrash()==真){
if(Bcrash()==false){
分数=分数+1;
}
}
}否则{
游戏模式=结束;
文本大小(32);
填充(22100,8);
文本(“游戏结束,按“r”重新开始”,150200);
}  
}
}
布尔Bcrash(){
返回user1.crash(Burger));
}
//Burger.class(编者按:我猜是User.class)
公共类用户{
布尔崩溃(Burger A){

return(abs(x-A.x)检查碰撞是否为假,然后再允许其添加另一个数字

比如:

Boolean collisionInProgress = false;

if(collision == true && collisionInProgress == false){
  score = score+1;
  collisionInProgess = true;
}

…loop…

if(collision == false){
  collisionInProgess = false;
}