2012-03-08 19 views
1

一個嚴重的bug彈出,我不知道爲什麼。在我開始遊戲後不久,遊戲就結冰了。我所知道的是,程序執行進入world.step(1.0f/30.0f, 5, 2);,並且永遠不會退出,從而凍結遊戲(從來沒有,我的意思是沒有可見的變化發生超過一分鐘,對於這個應用程序它可能永遠是)。我一直在研究這個問題一段時間,而這種情況以前沒有發生過,但現在它每次都在幾秒內發生。JBox2D掛在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

是的,您抓住的位置是用於牆壁位置的位置,因此修改它會改變牆壁的位置。所以不要那樣做哈哈。 – 2012-03-13 14:15:24