2016-12-03 16 views
0

Привет, я делаю игру для своего класса CS с использованием JavaScript. Я знаю, как эль объекты сталкиваются друг с другом на холсте, но я стараюсь, чтобы получить объект, чтобы обнаружить, если он полностью находится внутри другого объектаОпределить объект, если он полностью внутри другого объекта JavaScript

If (object1.xcoord > object2.xcoord 
    && object1.xcoord + object1.width < object2.xcoord + object2.width 
    && object1.ycoord + object1.height < object2.ycoord +object2.height) { 
    alert("hi") 
} 

Примечания Мне нужно только эти трех сторон это не имеет значения для меня если объект 1 находится в верхней части объекта 2

Также возможно использование только сравнения, как < или>, а не что-нибудь еще

+0

Какую форму он, и оба из них такой же формы? – Viliami

+0

@Viliami оба являются прямоугольниками – user6850954

ответ

2
//both height and width need to be smaller than the containing objects height 
//and width. 
if(obect1.width < object2.width && object1.height < object2.height){ 
    //check if right side x of object1 is less than right side x of object2 
    //and check if bottom y of object1 y is less than bottom y of object2 
    //and check if left x of object1 is greater than left side x of object2 
    //and check if top y of object1 is greater than top y of object2 
    if(object1.x+object1.width < object2.x+object2.width 
    && object1.y+object1.height < object2.y + object2.height 
    && object1.x > object2.x && object1.y > object2.y){ 
     return True; 
    } 
} 
return False; 
+0

Благодарим вас за ответ, но ваш код проверяет только нижнюю и правую стороны. Код по-прежнему возвращает true, даже если объект 1 находится слева от объекта 2 – user6850954