android Rect.intersect始终为false

士兵级

    centerX += speedX;

r.set(centerX , centerY, 50, 50);

子弹班

   centerX += speedX;

r.set(centerX, centerY, 50, 50);

if(Rect.intersects(r,GameScreen.soldier.r))

{

System.out.println("collision");

}

我在碰撞检测方面遇到了麻烦。我已经尝试过Rect.intersects,r.intersect(r1),r.contains(r1),并且始终为false。我什至绘制矩形以确保正确绘制并且正确绘制,但是碰撞始终为假

回答:

/**

* Check if two rectangles collide

* x_1, y_1, width_1, and height_1 define the boundaries of the first rectangle

* x_2, y_2, width_2, and height_2 define the boundaries of the second rectangle

*/

boolean rectangle_collision(float x_1, float y_1, float width_1, float height_1, float x_2, float y_2, float width_2, float height_2)

{

return !(x_1 > x_2+width_2 || x_1+width_1 < x_2 || y_1 > y_2+height_2 || y_1+height_1 < y_2);

}

以上是 android Rect.intersect始终为false 的全部内容, 来源链接: utcz.com/qa/407978.html

回到顶部