[英]Android Rect.intersects not working?
我想檢查兩個矩形是否相交! 我有一個 GLObject 類,它代表在屏幕上呈現的項目。 還有我的 Game 課程,它制作其他游戲內容。 使用 OpenGLEs 2.0 進行渲染工作! 這兩個項目顯示正確,但如果我將一個項目移動到另一個項目中,則什么也沒有發生。矩形和頂點是正確的(證明:屏幕/日志輸出上紋理的正確位置)
在游戲類中:
@Override
public void Process(long elapsed)
{
// TODO: Implement this method
super.Process(elapsed);
Rect r1 = mtest1.getRect(); // get Rectangle
Rect r2 = mtest2.getRect();
if (Rect.intersects(r1, r2)) // always false
System.exit(0);
//Log.e("logpos", "left" + r1.left + " top" + r1.top + " right" + r1.right + " bottom" + r1.bottom);
//this logs the correct position:
//left830 top200 right920 bottom100 for r1
//left810 top200 right900 bottom100 for r2
r1 = r2; // make them equal for testing
if (Rect.intersects(r1, r2)) // always flase
System.exit(0);
}
在我的 GLObject 類中:
private float mRect[] =
{
//counterclockwise
10.0f, 200f, 0.0f, // top left
10.0f, 100f, 0.0f, // bottom left
100f, 100f, 0.0f, // bottom right
100f, 200f, 0.0f // top right
};
//...
public Rect getRect()
{
return new Rect((int)mRect[0],
(int)mRect[1],
(int)mRect[6],
(int)mRect[4]);
}
我想我有解決方案:我的 OpenGL 場景和 Android Rect 類的坐標系不同:
^
I
I
I OpenGL
I
I
I===========================>
I===========================>
I
I
I Android Rect Class
I
I
v
(風景)
我改變了正畸,現在它正在工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.