我做的碰撞
检测包,先看看示例demo,在包装上看看。
碰撞检测
* {
保证金:0;
填充:0;
}
#天后,# divb {
宽度:200px;
身高:200px;
背景颜色:紫色;
字体大小:50px;
行高:200px;
文本对齐:中心;
位置:绝对;
颜色:# FFF;
}
#天后{
左:30px;
上图:30px;
Z指数:5;
}
# divb {
左:300px;
上图:300px;
}
一
B
VaR的天后= document.getelementbyid(天后);
无功divb = document.getelementbyid(divb );
diva.onmousedown =
功能(e){
风险事件= window.event E | |;
层= event1.clientx;
VaR的初始位置= event1.clienty;
document.onmousemove =功能(J){
VaR event2 = window.event | | {J}.;
无功endx = event2.clientx;
VaR恩迪= event2.clienty;
diva.style.left = diva.offsetleft +(endx - startx)+PX;
diva.style.top = diva.offsettop +(安迪-初始位置)+PX;
endx startx =;
初始位置=恩迪;
如果(iscrash(DIVA,divb)= = true){
diva.style.backgroundcolor =红色;
别的{ }
diva.style.backgroundcolor =紫色;
};
}
}
diva.onmouseup =
函数(){
document.onmousemove = null;
}
功能iscrash(obj1,obj2){
无功boolcrash =真;
无功left1 = obj1.offsetleft;
VaR right1 = obj1.offsetleft + obj1.offsetwidth;
var = obj1.offsettop TOP1;
无功bottom1 = obj1.offsettop + obj1.offsetheight;
无功left2 = obj2.offsetleft;
VaR对= obj2.offsetleft + obj2.offsetwidth;
var = obj2.offsettop TOP2;
无功bottom2 = obj2.offsettop + obj2.offsetheight;
如果(right1 > left2 left1 TOP2 TOP1 < bottom2){
boolcrash =真;
别的{ }
boolcrash = false;
}
返回boolcrash;
}
功能封装
功能iscrash(obj1,obj2){
无功boolcrash = true; / /真实碰撞假说
无功left1 = obj1.offsetleft;
VaR right1 = obj1.offsetleft + obj1.offsetwidth;
var = obj1.offsettop TOP1;
无功bottom1 = obj1.offsettop + obj1.offsetheight;
无功left2 = obj2.offsetleft;
VaR对= obj2.offsetleft + obj2.offsetwidth;
var = obj2.offsettop TOP2;
无功bottom2 = obj2.offsettop + obj2.offsetheight;
如果(right1 > left2 left1 TOP2 TOP1 < bottom2){
boolcrash =真;
别的{ }
boolcrash = false;
}
返回boolcrash;
}