как сделать обнаружение столкновений в Java - PullRequest
0 голосов
/ 24 ноября 2011

Я пытаюсь запустить обнаружение сговора в Java для cocos2d для 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));
}

, но по какой-то причине это не работает ... почему?

1 Ответ

1 голос
/ 24 ноября 2011

Вы устанавливаете oldx и oldy на player.getPosition().x и player.getPosition().y соответственно.Вы используете точно такие же проверки в своем операторе обнаружения столкновений, поэтому вы по существу устанавливаете позицию на то же место, где она была.убедитесь, что произошло столкновение, а затем просто не позволяйте игроку двигаться туда (т.е. не обновляйте свои X и Y).

...