Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何检测三角形位图冲突?_Java_Android_Eclipse_Bitmap_Geometry - Fatal编程技术网

Java 如何检测三角形位图冲突?

Java 如何检测三角形位图冲突?,java,android,eclipse,bitmap,geometry,Java,Android,Eclipse,Bitmap,Geometry,我正在制作一个Android游戏,我在位图冲突检测方面遇到了一些问题。问题是其中一个位图是三角形,第二个是矩形。我不知道如何检测它们之间的冲突,因为现在我使用以下代码: if(policeY<((canvas.getHeight()/20)+eye.getHeight()) && (policeY+police.getHeight())>(canvas.getHeight()/20)){ if((policeX+police.getWidth(

我正在制作一个Android游戏,我在位图冲突检测方面遇到了一些问题。问题是其中一个位图是三角形,第二个是矩形。我不知道如何检测它们之间的冲突,因为现在我使用以下代码:

if(policeY<((canvas.getHeight()/20)+eye.getHeight()) && (policeY+police.getHeight())>(canvas.getHeight()/20)){
            if((policeX+police.getWidth())>triangleLeft && policeX<(triangleLeft+eye.getWidth())){
                //collision
                play = false;
            }else if((policeX+police.getWidth())<triangleLeft && policeX>(triangleLeft+eye.getWidth())){
                //collision
                play = false;
            }

        }
然而,这段代码将两者都作为矩形处理,即使三角形不接触矩形,也会导致冲突


我把这个问题设为交叉点问题。将三角形的边定义为直线,然后将公式用于矩形的边。然后检查该点是在矩形的边缘上,还是在矩形的外部