2011-04-05 43 views
4

我有一個PNG圖像,我在Inkscape中編輯。這是一個不規則的鋸齒形狀,但我需要使用它進行碰撞檢測。這太大了,無法在它周圍製作原始矩形(它佔用的不僅僅是一個標準的手機屏幕)。所以我一直在它周圍的INkscape中繪製矩形,並注意到這些矩形的像素尺寸。Android的畫布位圖大小和尺寸

我的意圖是使用這些「虛構」矩形的聯合進行碰撞檢測。然而,我的努力遇到了困難。手機上圖像的默認大小似乎與Inkscape不同。

我想知道使用大型不規則對象進行碰撞檢測的最佳方法,以及/或者如何使畫布位圖measuremtns與其像素(或mm)測量值相同。

回答

0

我建議做的是創建一個等價圖像,其中您的碰撞區域的值爲1,非碰撞區域的值爲0(或0和255)。

所以,你將有兩個圖像,你將顯示的五顏六色的圖像和你將加載的碰撞圖像。

然後,如果你是一個碰撞區域內有可以檢測:

Bitmap collision; 
collision = BitmapFactory.decodeStream(...yourImage...); 
collision.getPixel(x,y) 

另一種解決方案是創建兩個數組後處理碰撞圖像,你可以做到這一點創建處理您最初的Java應用程序圖像並用兩行創建一個文本文件,第一行是x座標,第二行是y座標。

然後,在你的Android應用程序中讀取這個文件,並且如果你的x和y存在於這個數組中,是一個碰撞點。