Have object detect if completely inside other object JavaScript

断了今生、忘了曾经 提交于 2020-01-05 08:39:22

问题


Hello I'm making a game for my CS class using JavaScript. I know how to ale objects collide with each other in the canvas but I m trying to get an object to detect if it's completely inside another object

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

Note I only need those three sides it doesn't matter to me if object 1 is within top side of object 2

Also is it possible to only use comparisons like < or > and not anything else


回答1:


//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;


来源:https://stackoverflow.com/questions/40945374/have-object-detect-if-completely-inside-other-object-javascript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!