Nemo Cursor Fun!

Discussion in 'The Bucket' started by omard, Dec 31, 2007.

to remove this notice and enjoy 3reef content with less ads. 3reef membership is free.

  1. omard

    omard Gnarly Old Codfish

    Joined:
    Sep 28, 2003
    Messages:
    4,745
    Location:
    Silverdale, Washington
    Added below script to Aquarium "Home Page" ---- is great fun to play with. (Does not like "Mozilla/FireFox")


    See at:


    Davis Family Aquarium



    To add to page of your own...copy script and point "Src=" location to wherever you copy clown .gif to.

    [​IMG]

    i.e. .gif at "http://i199.photobucket.com/albums/aa79/omard1/Misc/ANCLOWN.gif"

    src=http://i199.photobucket.com/albums/aa79/omard1/Misc/ANCLOWN.gif

    Have Fun!






    <body background="white_keyboard_bg.gif">
    <ul><ul>
    <div id="dot0" style="position: absolute; visibility: hidden; height: 20; width: 20;">little<img src="http://www.garf.org/trever/NEMO/ANCLOWN.gif" height=48 width=48></div>
    <div id="dot1" style="position: absolute; height: 30; width: 30;"><img src="ANCLOWN.gif" height=30 width=30></div>
    <div id="dot2" style="position: absolute; height: 30; width: 30;"><img src="ANCLOWN.gif" height=30 width=30></div>
    <div id="dot3" style="position: absolute; height: 30; width: 30;"><img src="ANCLOWN.gif" height=30 width=30></div>
    <div id="dot4" style="position: absolute; height: 30; width: 30;"><img src="ANCLOWN.gif" height=30 width=30></div>
    <div id="dot5" style="position: absolute; height: 30; width: 30;"><img src="ANCLOWN.gif" height=30 width=30></div>
    <div id="dot6" style="position: absolute; height: 30; width: 30;"><img src="ANCLOWN.gif" height=30 width=30></A>
    <p align="center"></div>

    <SCRIPT LANGUAGE="JavaScript">




    var nDots = 6;
    var Xpos = 0;
    var Ypos = 0;

    var DELTAT = .01;
    var SEGLEN = 10;
    var SPRINGK = 10;
    var MASS = 1;
    var GRAVITY = 50;
    var RESISTANCE = 10;
    var STOPVEL = 0.1;
    var STOPACC = 0.1;
    var DOTSIZE = 11;
    var BOUNCE = 0.75;
    var isNetscape = navigator.appName=="Netscape";
    var followmouse = true;
    var dots = new Array();
    init();
    function init() {
    var i = 0;
    for (i = 0; i < nDots; i++) {
    dots = new dot(i);
    }
    if (!isNetscape) {
    // I only know how to read the locations of the
    // <LI> items in IE
    //skip this for now
    // setInitPositions(dots)
    }
    for (i = 0; i < nDots; i++) {
    dots.obj.left = dots.X;
    dots.obj.top = dots.Y;
    }
    if (isNetscape) {
    startanimate();
    } else {
    // let dots sit there for a few seconds
    // since they're hiding on the real bullets
    setTimeout("startanimate()", 3000);
    }
    }
    function dot(i) {
    this.X = Xpos;
    this.Y = Ypos;
    this.dx = 0;
    this.dy = 0;
    if (isNetscape) {
    this.obj = eval("document.dot" + i);
    } else {
    this.obj = eval("dot" + i + ".style");
    }
    }
    function startanimate() {
    setInterval("animate()", 20);
    }
    function setInitPositions(dots) {
    var startloc = document.all.tags("LI");
    var i = 0;
    for (i = 0; i < startloc.length && i < (nDots - 1); i++) {
    dots[i+1].X = startloc.offsetLeft
    startloc.offsetParent.offsetLeft - DOTSIZE;
    dots[i+1].Y = startloc.offsetTop +
    startloc.offsetParent.offsetTop + 2*DOTSIZE;
    }
    dots[0].X = dots[1].X;
    dots[0].Y = dots[1].Y - SEGLEN;
    }
    function MoveHandler(e) {
    Xpos = e.pageX;
    Ypos = e.pageY;
    return true;
    }
    function MoveHandlerIE() {
    Xpos = window.event.x + document.body.scrollLeft;
    Ypos = window.event.y + document.body.scrollTop;
    }
    if (isNetscape) {
    document.captureEvents(Event.MOUSEMOVE);
    document.onMouseMove = MoveHandler;
    } else {
    document.onmousemove = MoveHandlerIE;
    }
    function vec(X, Y)
    {
    this.X = X;
    this.Y = Y;
    }

    // adds force in X and Y to spring for dot on dot[j]
    function springForce(i, j, spring)
    {
    var dx = (dots.X - dots[j].X);
    var dy = (dots.Y - dots[j].Y);
    var len = Math.sqrt(dx*dx + dy*dy);
    if (len > SEGLEN) {
    var springF = SPRINGK * (len - SEGLEN);
    spring.X += (dx / len) * springF;
    spring.Y += (dy / len) * springF;
    }
    }
    function animate() {
    var start = 0;
    if (followmouse) {
    dots[0].X = Xpos;
    dots[0].Y = Ypos;
    start = 1;
    }
    for (i = start ; i < nDots; i++ ) {
    var spring = new vec(0, 0);
    if (i > 0) {
    springForce(i-1, i, spring);
    }
    if (i < (nDots - 1)) {
    springForce(i+1, i, spring);
    }
    var resist = new vec(-dots.dx * RESISTANCE, -dots.dy * RESISTANCE);
    var accel = new vec((spring.X + resist.X)/ MASS, (spring.Y + resist.Y)/ MASS + GRAVITY);
    dots.dx += (DELTAT * accel.X);
    dots.dy += (DELTAT * accel.Y);
    if (Math.abs(dots.dx) < STOPVEL &&
    Math.abs(dots.dy) < STOPVEL &&
    Math.abs(accel.X) < STOPACC &&
    Math.abs(accel.Y) < STOPACC) {
    dots.dx = 0;
    dots.dy = 0;
    }
    dots[i].X += dots[i].dx;
    dots[i].Y += dots[i].dy;
    var height, width;
    if (isNetscape) {
    height = window.innerHeight + document.scrollTop;
    width = window.innerWidth + document.scrollLeft;
    } else {
    height = document.body.clientHeight + document.body.scrollTop;
    width = document.body.clientWidth + document.body.scrollLeft;
    }
    if (dots[i].Y >= height - DOTSIZE - 1) {
    if (dots[i].dy > 0) {
    dots[i].dy = BOUNCE * -dots[i].dy;
    }
    dots[i].Y = height - DOTSIZE - 1;
    }
    if (dots[i].X >= width - DOTSIZE) {
    if (dots[i].dx > 0) {
    dots[i].dx = BOUNCE * -dots[i].dx;
    }
    dots[i].X = width - DOTSIZE - 1;
    }
    if (dots[i].X < 0) {
    if (dots[i].dx < 0) {
    dots[i].dx = BOUNCE * -dots[i].dx;
    }
    dots[i].X = 0;
    }
    dots[i].obj.left = dots[i].X;
    dots[i].obj.top = dots[i].Y;
    }
    }
    // End -->

    </script>[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
     
  2. Click Here!

  3. aquaboy

    aquaboy Panda Puffer

    Joined:
    Jul 27, 2007
    Messages:
    2,112
    Location:
    Tatamy, PA
    When i look directly at it, it feels as if it is coming for me!
     
  4. sssnake

    sssnake Montipora Digitata

    Joined:
    Dec 30, 2005
    Messages:
    1,062
    Location:
    Montreal, Canada
    ....(Does not like "Mozilla/FireFox").....

    Bummer.

    Oh well...
     
  5. baugherb

    baugherb Giant Squid

    Joined:
    Sep 8, 2007
    Messages:
    5,205
    Location:
    southington, ohio
    I'll give it a try and see what happens.... Cool!!!!!
     
  6. david7700

    david7700 Flamingo Tongue

    Joined:
    Nov 6, 2007
    Messages:
    100
    Location:
    East Lansing, MI
    Seems to work for me and I use Mozilla, probably is smoother/more realistic in IE. Darrrned microsoft, I stopped using their browser when it became extremely slow and had 1,000 security loopholes that let virus run wild on my CPU. (partially my fault due to some pop-up browsing) :-X
     
  7. wastemanagement

    wastemanagement Eyelash Blennie

    Joined:
    Sep 9, 2007
    Messages:
    1,252
    Location:
    Quebec City
    I saw this a while back its so cool