你好我正在尝试使用libgdx制作2D游戏。 总结一下,我有两个矩形,我正在检查碰撞。 我想增加计数器例如1,2,3,4,5,6 ...... 但如果不能正常工作,反而会增加不平衡。 因为柜台增加例如34,49,78 .... 两个矩形相交并且重叠继续,因此计数器增加不平衡。我想要在第一个十字路口不要增加柜台。 我想功能而不是重叠但没有结果 为此,我需要你的帮助。
顺便说一句,计数器是全局变量。第一个计数器的值为0.游戏有无限循环。像flappybird这样的游戏工作。但游戏玩家有三条生命。
代码在这里:
if(xRectangle.overlaps(yRectangle)) {
counter++;
if (counter == 1)
bang.play();
if (counter == 2)
bang.play();
if (counter == 3) {
System.out.println("game finished!");
bang.play();
}
}
答案 0 :(得分:0)
在游戏中,计数器值以不平衡的方式增加,因为libgdx检查的碰撞检测速率为1/60 fps。所以在每纳秒时,它会在碰撞过程中增加计数器。为避免这种情况,我建议您对代码进行一些小修改。
int countController=0;
if(xRectangle.overlaps(yRectangle)) {
countController++;
if(countController%60==0){
counter++;
if (counter == 1)
bang.play();
if (counter == 2)
bang.play();
if (counter == 3) {
System.out.println("game finished!");
bang.play();
}
}
}
//请尝试此代码。一切顺利