-8
Array<Body> bodies = new Array<Body>(world.getBodyCount());
world.getBodies();
for (Body body : bodies) {
update(body);
}
Array<Body> bodies = new Array<Body>(world.getBodyCount());
world.getBodies();
for (Body body : bodies) {
update(body);
}
好吧,首先你要分配一個Array
並確保backing數組將適合world.getBodyCount()
。因此,如果您的世界中現有的身體數量是十個,那麼ArrayList
將有足夠的內存來分配最初存儲十個身體,但所有這些輸入將爲null
。
然後您撥打world.getBodies()
;但是不能訪問局部變量bodies
,這絕對不是static
;因此您的Array
仍處於未初始化狀態!
當您來到for
循環時,Array
爲空,所以它執行零次;沒有更新。所以;真正的訣竅是你沒有正確訪問世界範圍內的bodies
。
是否getBodies()
返回List
您應該使用?
這是哪一個? Java,C++還是C? –
@AndyTurner肯定不是C:p – Boiethios
...和'Array
bodies = new ...'也不是C++,所以可能是Java。 @kalpesh請注意,這個網站是提供問題和答案,而不是語言猜測測驗;) – user463035818