如何在java中进行冲突检测

如何在java中进行冲突检测,java,android,cocos2d-android,Java,Android,Cocos2d Android,我正在尝试用java for cocos2d for android进行共谋检测,下面是我的代码 float oldx = player.getPosition().x; float oldy = player.getPosition().y; if((player.getPosition().y + player.getContentSize().height > building1.getPosition().y) && (player.getPosition()

我正在尝试用java for cocos2d for android进行共谋检测,下面是我的代码

float oldx = player.getPosition().x;
float oldy = player.getPosition().y;
if((player.getPosition().y + player.getContentSize().height > building1.getPosition().y) &&
   (player.getPosition().y < building1.getPosition().y + building1.getContentSize().height) && 
   (player.getPosition().x + player.getContentSize().width > building1.getPosition().x) &&
   (player.getPosition().x < building1.getPosition().x + building1.getContentSize().width))
{
    player.setPosition(CGPoint.ccp(oldx, oldy));
}
float oldx=player.getPosition().x;
float oldy=player.getPosition().y;
如果((player.getPosition().y+player.getContentSize().height>building1.getPosition().y)&&
(player.getPosition().ybuilding1.getPosition().x)&&
(player.getPosition().x

但由于某些原因,它不起作用。。。为什么?

您分别将
oldx
oldy
设置为
player.getPosition().x
player.getPosition().y
。您在碰撞检测if语句中使用的检查完全相同,因此您基本上是将位置设置为原来的位置


在检查碰撞是否发生之前,您需要知道玩家想要移动到的位置,然后不允许玩家移动到该位置(即不更新其X和Y).

我喜欢中情局和石油行业的共谋检测:-)它以什么方式不起作用?共谋检测代码工作正常,但它不会让参与者的地位倒退/