2012-03-08 4 views
1

Появилась серьезная ошибка, и я не знаю, почему. Вскоре после того, как я начну игру, игра замерзает. Все, что я знаю, это то, что выполнение программы идет в world.step(1.0f/30.0f, 5, 2); и никогда не выходит, тем самым замораживая игру (никогда, я имею в виду, что никаких видимых изменений не произошло более минуты, и для этого приложения это может быть и навсегда). Я работал над этим некоторое время, и этого не было раньше, но теперь это происходит каждый раз в течение нескольких секунд после запуска.JBox2D Hangs On world.step()

У кого-нибудь есть идеи, почему это может случиться?

К сожалению, в таком случае, я хотел бы использовать контроль версий.

ответ

1

Я нашел проблему. По какой-то причине именно этот метод (и еще один такой) вызвал эту проблему.

public Vec2 getRWallCenter() 
    { 
     Vec2 v = rWall.getPosition(); 
     float scale = purpleRadius/2; 
     v.set(v.x * scale, v.y * scale); 

     return v; 
    } 

Может быть, когда я пытался масштабировать v в экранные координаты, я на самом деле изменения вектора стены? Возможно, я мог бы попытаться клонировать вектор.

+0

Да, позиция, которую вы захватили, - это та, которая используется для положения стены, поэтому ее изменение изменит положение стены. Так что не делай этого ха-ха. –