我使用了以下代碼3210。OPENGL Android獲取我的圖像座標
但我面臨的問題是獲取我的對象的座標。
讓我解釋一下。根據代碼。您只需要以PNG格式添加圖形圖像,並在此處將其引用到課程中。我試圖實現的是一個簡單的碰撞檢測機制。我添加了一個迷宮(如PNG)。並有一個對象(如PNG)通過迷宮中的空白路徑。爲了做到這一點,我需要知道我的對象將通過其移動的座標內的空白空間。
任何人都可以告訴我如何獲得空格作爲(x,y)座標,通過它我可以拿我的對象?
我使用了以下代碼3210。OPENGL Android獲取我的圖像座標
但我面臨的問題是獲取我的對象的座標。
讓我解釋一下。根據代碼。您只需要以PNG格式添加圖形圖像,並在此處將其引用到課程中。我試圖實現的是一個簡單的碰撞檢測機制。我添加了一個迷宮(如PNG)。並有一個對象(如PNG)通過迷宮中的空白路徑。爲了做到這一點,我需要知道我的對象將通過其移動的座標內的空白空間。
任何人都可以告訴我如何獲得空格作爲(x,y)座標,通過它我可以拿我的對象?
如果有一個入口和一個出口的迷宮,或圍繞它包含多個條目或出口目的地中的迷宮開放區,A* search algorithm將做的工作:
注意,這可能在CPU上做得最好。您需要修改路徑段的條件以處理對象大小,一種簡單的方法僅假設路徑寬度爲1個圖像像素。
如果以這種方式修改算法,即它匹配多個目標點,它可能工作得更加平滑,而不需要用於退出的開放區域(一個入口到多個出口)。對於多個起始點或條目分別進行修改可能導致N次運行和路徑比較以找到最短的一個(許多出口的許多條目),或者如果只有一個出口存在(多個條目到一個出口),則反向搜索一個進入許多出口。如果需要多個目標點的路徑,只需繼續搜索,直至找到所有路徑或算法「停止」並停止。
UPDATE:
最好,最靈活的方式,可能會使用一個物理庫支持各種形狀類型,如球,任意凸包等。例如,你可以使用「子彈物理學」庫做碰撞只有檢測,沒有物理模擬(但爲什麼不?)。 2D中基於片段的碰撞檢測可以使用OpenGL遮擋查詢來實現,這對於複雜形狀往往更快。
要集成的圖像,你需要變換/刻度它進行排序的多個壁對象的在座標其中其他形狀以限定空間
簡而言之:碰撞檢測用的任意的頂點數據形狀非常昂貴,開發和在運行時。這是子彈庫的碰撞形狀將會幫助的地方,因爲它們用於表示要繪製的對象的簡化形狀。
我現在不在尋找AI算法。我只需要找到我迷宮的像素數據。簡單的if-else條件將幫助我檢測碰撞。但對於我需要的像素信息。不管怎麼說,還是要謝謝你。 – Debopam
是否要在座標空間之間進行轉換;像將世界空間映射到你迷宮的圖像空間? – Sam
好吧,讓我清楚我想要什麼。在OpenGL中添加形狀時,我們通常將頂點作爲{1.0f,0.0f ...等等}的浮點數組,如果我錯了,請糾正。 你能告訴我如何檢測定義/繪製浮點數組方式的這兩種形狀的碰撞。 – Debopam