Skip to content

Commit d100715

Browse files
committed
基于底边的碰撞运动框架
基于底边的碰撞运动框架
1 parent 19c0616 commit d100715

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

collisionMove.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
2+
3+
//基于底边的碰撞运动
4+
function collisionMove(obj,xSpeed,ySpeed){
5+
var w = document.documentElement.clientWidth;
6+
var h = document.documentElement.clientHeight;
7+
var xNow = 0;
8+
var yNow = 0;
9+
clearInterval(obj.timer);
10+
obj.timer = setInterval(function(){
11+
ySpeed +=3;
12+
xNow= obj.offsetLeft+xSpeed;
13+
yNow = obj.offsetTop+ySpeed;
14+
if(yNow>=(h-obj.offsetHeight)){
15+
ySpeed *= -0.8;
16+
xSpeed *= 0.8;
17+
yNow = h-obj.offsetHeight;
18+
}else if(yNow<=0){
19+
ySpeed *= -1;
20+
yNow = 0;
21+
}
22+
if(xNow>=(w-obj.offsetWidth)){
23+
xSpeed *= -0.8;
24+
xNow = w-obj.offsetWidth;
25+
}else if(xNow<=0){
26+
xSpeed *= -0.8;
27+
xNow = 0;
28+
}
29+
if(Math.abs(xSpeed)<1){
30+
xSpeed = 0;
31+
}
32+
if(Math.abs(ySpeed)<1){
33+
ySpeed = 0;
34+
}
35+
if(xSpeed == 0&& ySpeed == 0&&yNow == h-obj.offsetHeight){
36+
clearInterval(obj.timer);
37+
}else{
38+
obj.style.left = xNow+'px';
39+
obj.style.top = yNow+'px';
40+
}
41+
},30);
42+
}

0 commit comments

Comments
 (0)