69、鼠标会被炸掉

69、鼠标会被炸掉

脚本说明:

把如下代码加入<body>区域中

<script>

picFollow = new Image();

picFollow.src = "bomb.gif";

picExplosion = new Image();

picExplosion.src = "explode.gif";

document.onmousemove = getMousePosition;

document.onmouseout = pauseBomb;

document.write("<div id=\"diva\" style=\"position:absolute\">");

document.write("<img name=\"pic\"src=" + picFollow.src + "></div>");

var picX = 20;

var picY = 100;

var step = 10;

var speed = 100;

var tolerance = step/2 +1;

var mouseX = 0;

var mouseY = 0;

var mouseOut = true;

var followMouse = false;

myInterval = setInterval('moveBomb()', speed);

function pauseBomb() {

mouseOut = true;

}

function getMousePosition(e) {

mouseX = window.event.x + document.body.scrollLeft;

mouseY = window.event.y + document.body.scrollTop;

mouseOut = false;

if (followMouse) {

diva.style.left = mouseX - pic.width / 2;

diva.style.top = mouseY - pic.height / 2;

   }

}

function calcNewPos() {

if (mouseX == picX)

return;

arg = (mouseY-picY) / (mouseX-picX);

mult = 1;

if (mouseX - picX < 0)

mult = -1;

alpha = Math.atan(arg);

dx = mult * step * Math.cos(alpha);

dy = mult * step * Math.sin(alpha);

picX += dx;

picY += dy;

}

function collision() {

if ((Math.abs(picX-mouseX) < tolerance) && (Math.abs(picY-mouseY) < tolerance) && (!mouseOut))

return true;

return false;

}

function hideAnimation() {

diva.style.visibility = "hidden";

}

function moveBomb() {

calcNewPos();

window.status = "("+mouseX+","+mouseY+")";

diva.style.left = picX - pic.width / 2;

diva.style.top = picY - pic.height / 2;

if (collision()) {

clearInterval(myInterval);

pic.src = picExplosion.src;

followMouse = true;

setTimeout('hideAnimation()', 2000);

   }

}

</script>

 

Write a comment

Comments: 0