Я сделал этот код, чтобы 2 квадрата, переданных на каждый параметр, сталкивались. Я пытаюсь сделать столкновение на основе атрибутов квадратов
public boolean VerificarColisionCuadradoCuadrado(Cuadrado obj1, Cuadrado obj2) {
if (obj1.x + obj1.w <= obj2.x) {
return false;
}
if (obj1.y + obj1.h <= obj2.y) {
return false;
}
if (obj1.x > obj2.x + obj2.w) {
return false;
}
if (obj1.y > obj2.y + obj2.h) {
return false;
}
return true;
}
, являющихся квадратами:
public class Cuadrado {
public int w, h;
public int x;
public int y;
public int color;
public void dibujarCuadrado(Graphics g, int posX, int posY, int base, int altura,int color) {
Line.drawline(g, posX, posY, base + posX, posY, color);
Line.drawline(g, base + posX, posY, base + posX, altura + posY,color);
Line.drawline(g, base + posX, altura + posY, posX, altura + posY,color);
Line.drawline(g, posX, altura + posY, posX, posY, color);
this.w=base;
this.h=altura;
this.x=posX;
this.y=posY;
this.color=color;
}
Я не нахожу ошибку, они не сталкиваются
ошибка, я думаю, что это в функции
Проверка квадрата столкновения квадрата
Проблема, которую я вижу в тебе cГіdigo, состоит в том, что ты работаешь, не имея некоего края ошибки в виду во время столкновения. DeberГ-схвати иметь в виду это во время работы с реальными проблемами симуляции.
одинокой была проблема кода
public boolean VerificarColisionCuadradoCuadrado(Cuadrado obj1, Cuadrado obj2) {
if (obj1.x + obj1.w < obj2.x) {
return false;
}
if (obj1.y + obj1.h < obj2.y) {
return false;
}
if (obj1.x > obj2.x + obj2.w) {
return false;
}
if (obj1.y > obj2.y + obj2.h) {
return false;
}
return true;
}
удалите равенство первых 2 условий и сейчас функционируй!!!
w
и h
положительные и квадраты, параллельные почве. Основательно ты подтверждаешь, что obj2
начался в á дополнительная преступница obj1
, чтобы говорить, что они не сталкиваются. Функционирует даже в случае где квадрат está контент в другом.
– Peregring-lk
12.11.2016, 04:42
Не для того, чтобы ты это используешь точно, но то же самое подает тебе книжный магазин Box2D. У него есть куча функциональности и может избавлять от тебя много работы.