У меня есть метод, который проверяет, пересекаются ли игрок и предмет, и добавляет предмет в инвентарь, но кажется, что этот метод работает, только если прямоугольники полностью перекрываются, и предмет не обнуляется, если я специально не скажу так в панели. В противном случае элемент продолжает перемещаться по панели, как будто ничего не произошло.
public boolean obtainItem(Item item)
{
if (item.moveable)
{
Rectangle p = getBounds();
Rectangle i = item.getBounds();
if (p.intersects(i))
{
inventory.add(item);
i = null;
System.out.println("hello");
return true;
}
}
return false;
}
Код для моих методов getBounds ():
public Rectangle getBounds ()
{
границы = новый прямоугольник (x, y, 40, 40);
вернуть границы;
}
И он возвращает правильные границы