0

android rect クラスを使用して rect コリジョン if ステートメントを実装しようとしていますが、うまく動作しないようです。うまく動作しますが、return ステートメントは決して true ではありません。これが私の 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");
                    }
4

1 に答える 1