有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法获取Rect。相交(rec,rec2)工作

由于某种原因,我的程序无法通过Rect.intersects(re,hitcore)。如果我使用System.out.println()re.flattenToString(),我看到两个矩形相交,但它不会return true

我也尝试过使用re.intersect(hitcore),但仍然没有。帮忙

import 安卓.graphics.Rect;   

public class Enemy {
public Rect re, hitCore;

private boolean hit = false;


public Enemy() {
    re = new Rect(0, 0, 0, 0);
    hitCore = new Rect(0, 0, 0, 0);

}

public void update() {

    re.set(centerX + leftX, centerY + topY, rightX, botY); // these are set by another class                  
    hitCore.set(ship.getCenterX() + 3, ship.getCenterY() + 10, 93, 20);

            //System.out.println(re.flattenToString() + " rect1");
    //System.out.println(hitCore.flattenToString() + " rect2");

    checkHit(hitCore);

}

private void checkHit(Rect hitCore) {
    if (Rect.intersects(hitCore, re)) {
        hit = true;
    }
}
}

共 (1) 个答案

  1. # 1 楼答案

    我想出来了。我用x,y和宽度,高度来设置矩形。实际参数是左上角坐标和右下角坐标

     rect.set(x1,y1,x2,y2);