簡體   English   中英

如何在紋理libGDX上創建多邊形

[英]How to create a polygon on a texture libGDX

我想通過從紋理中剪切透明區域來創建多邊形。 我寫了一個程序來檢測2個對象之間的碰撞。 但是在碰撞之前檢測到碰撞。 這就是它的外觀: http//imgur.com/a/dFmXI

這是代碼: https//hastebin.com/bebusadiku.java我想切割紋理並根據切割紋理創建多邊形,然后使用Intersector方法檢測碰撞,但我不知道如何指定頂點多邊形

我試圖遵循這個但是沒有解釋如何檢測頂點: https//gamedev.stackexchange.com/questions/114228/how-to-detect-collision-only-in-non-transparent-texture

感謝幫助

我使用這個多邊形形狀編輯器來創建更復雜的形狀來檢查碰撞。 我相信Box2D它可以在“盒子”之外工作,但Box2D占用了大量空間,如果你不使用實際物理,這是不必要的。 但是,此工具生成JSON格式的多邊形坐標,並且將其反序列化為Polygon對象並與Intersector實現進行沖突並不困難。 所以在步驟中你:

  • 使用形狀編輯器工具為圖像創建形狀。
  • 使用該工具將其導出到JSON。
  • 將該數據反序列化為LibGDX Polygon
  • 移動,縮放並將其正確附加到圖像,使其同步。
  • 首先檢查基本矩形與矩形的碰撞。
  • 如果存在基本碰撞,請使用Intersector進行更詳細的碰撞檢測。

該工具導出大量冗余數據,如果您熟悉它導出的格式,您可以除去多邊形/頂點數據之外的所有數據。

暫無
暫無

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

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