2012-08-17 15 views
0

什麼是在等級幫助中使用的「子彈」屬性?另外,在像憤怒的小鳥這樣的遊戲中,這些鳥在春季被重新裝入...如何保持計數?以及如何使用levelhelper製作憤怒的小鳥,如何在彈簧中重新加載子彈。在等級幫助中「是子彈」

+2

你的問題不清楚 - 發表一些代碼? – 2012-08-17 14:11:06

回答

1

從Box2D的手冊http://www.box2d.org/manual.html

子彈

遊戲仿真通常產生在一些幀率播放圖像的序列。這被稱爲離散模擬。在離散模擬中,剛體可以在一個時間步中大量移動。如果一個物理引擎沒有考慮到大的運動,你可能會看到一些對象錯誤地通過對方。這種效應被稱爲隧道效應。

默認情況下,Box2D使用連續碰撞檢測(CCD)來防止動態物體穿過靜態物體。這是通過從舊位置到新位置的形狀完成的。掃描期間,引擎會查找新的碰撞並計算這些碰撞的衝擊時間(TOI)。機構被移動到他們的第一個TOI,然後在剩下的時間步驟中停止。

通常情況下CCD不會在動態物體之間使用。這樣做是爲了保持性能合理。在某些遊戲場景中,您需要動態物體才能使用CCD。例如,您可能想要在一堆動態磚頭上拍攝高速子彈。沒有CCD,子彈可能會穿過磚塊。

Box2D中的快速移動對象可以標記爲項目符號。子彈將使用靜態和動態主體執行CCD。你應該根據你的遊戲設計來決定哪些物體應該是子彈。如果您決定將身體視爲子彈,請使用以下設置。

bodyDef.bullet = true;

子彈標誌隻影響動態物體。

Box2D依次執行連續碰撞,所以子彈可能會錯過快速移動的物體。