簡體   English   中英

LibGDX Box2d碰撞錯誤

[英]LibGDX Box2d Collision Error

我知道這會有些模糊。 我正在編寫動作冒險風格的游戲,但遇到一個隨機的問題(看似自發的),我用來扮演角色的身體什么也沒被抓住。 我實際上不是在處理碰撞,我只是在使用內置的身體接觸物體引起碰撞功能。 調試渲染器指示當不應該存在沖突時發生沖突,而我無法辨別為什么會發生沖突。 我想我需要的是對LibGDX更加熟悉的人,而不是我猜測為什么會發生這種情況。 玩家被困在左邊

我猜@CoderMusgrove是正確的。
如果您的地板平整,是由許多盒子組成的,則可能會卡在它們的邊緣。
那是因為在物理模擬中,人體將因重力而被壓低。 這會導致碰撞,通常會使身體后退。
但是,如果您在兩個方框之間被按下,則沖突解決程序有時會決定將您向后推,因為這是解決沖突的更短方法。
您可以在此處了解更多信息。
鏈接中還討論了解決方案。 有幾種不同的方法:
-切割邊緣:如果切割角色的邊緣,則沖突解決程序將更有可能決定將角色向上推。 我嘗試使用此解決方案,但以我為例,它使字符稍微變慢了。 同樣,當我將邊緣切得很多時,角色每次移動到另一個盒子時都會開始跳躍。
-使用邊緣形狀:您可以只使用邊緣,而不必使用盒子。 似乎您不會經常被困在邊緣上,所以這可能已經解決了您的問題。
-使用gost頂點:使用Ghost頂點,可以為解析器提供有關如何解析大腸菌的提示。 這些幻影頂點僅用於碰撞響應,因此它們不會影響其余的模擬。
-組合框:最好的解決方案是,如果可能的話,在所有相鄰框中創建一個大框。 這將解決問題,因為沒有更多的邊緣會卡住身體。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM