簡體   English   中英

Android Rect.intersects

[英]Android Rect.intersects

我正在嘗試使用androind rect類實現rect沖突if語句,但是我似乎無法使其正常工作,它確實可以正常工作,但是return語句永遠都不成立,這是我的if語句

if(Rect.intersects(balls.get(j).topSide, levelBlocks.blocks.get(i).rect))
    {
        Log.d("Check", "Hit");
    }

這是我打印的信息,確實表明應該發生碰撞

06-09 18:17:50.842: D/Check(6016): Bloc1X:192, Y:64, W:32, H:32
06-09 18:17:50.862: D/Check(6016): Ball X:199, Y:92, W:18, H:6

這是指向位置的圖片,圖像分辨率與應用程序畫布相同 在此處輸入圖片說明

如果有人可以幫助我,那就太好了:)。

這是更多代碼

if(i == 2)
                    {
                        Log.d("Check", "Ball X:"+ balls.get(j).topSide.left+",Y:"+ balls.get(j).topSide.top+", W:"+ balls.get(j).topSide.right+", H:"+balls.get(j).topSide.bottom);
                        Log.d("Check", "Bloc1X:"+ levelBlocks.blocks.get(i).rect.left+", Y:"+ levelBlocks.blocks.get(i).rect.top+", W:"+ levelBlocks.blocks.get(i).rect.right+", H:"+levelBlocks.blocks.get(i).rect.bottom);
                    }
                    if(Rect.intersects(balls.get(j).topSide, levelBlocks.blocks.get(i).rect))
                    {
                        Log.d("Check", "hit");
                    }

我不確定您要使用的某些代碼(例如“ .topSide”)是什么。

但是,如果您查看矩形的文檔,則可以將兩個矩形傳遞給insersects()方法,它將返回true或false:

http://developer.android.com/reference/android/graphics/Rect.html#intersects(android.graphics.Rect,android.graphics.Rect

我當然假設您的兩個實體均為Rect類型。 如果沒有,那將行不通。

暫無
暫無

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

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