proginternet.com Programacion Internet
  • Detectar posición del Mouse en Flash con ActionScript

    Muchos desarrolladores en Flash están cambiando el modo en que solían programar aplicaciones. Muchas de las nuevas tendencias tienen que ver con el concepto de las RIA (Rich Interface Application) y de la interacción del usuario con la aplicación. Sin duda, el puntero o mouse, a cambiado la forma en que el usuario utiliza su computador. En mi experiencia, cada día me topo con ejemplos cada vez más extraordinarios de las cosas que se pueden hacer con Flash y ActionScript. Aún debemos de recordar que las grandes cosas están hechas de pequeñas. Por ahí me tope con este ejemplo que sin duda es una de ellas. Este fantástico script muestra como detectar la posición del mouse en Flash con ActionScript. Se los explico a continuación:

    Paso 1: Creemos dos cuadros de texto dinámico. En mi caso, crearé uno asociado a la variable mouseX y otro asociado a la variable mouseY.

    Paso 2: Posteriormente, peguemos el siguiente código en la primera posición de nuestra línea de tiempo:

    _root.onEnterFrame = function() {
    mouseX = _root._xmouse;
    mouseY = _root._ymouse;
    }

    Como, pueden darse cuenta, la simple referencia a la propiedad ._xmouse y ._ymouse nos devuleve el valor de la posición del mouse para ese objeto. Ahora bien, esto lo podemos utilizar para muchas animaciones, como por ejemplo un puntero personalizado para una página o para hacer objetos que cambien de tamaño dependiendo de la posición del puntero; como en el siguiente ejemplo:

    Paso 1: Cree dos objetos movie clip. El segundo, debe ser una instancia del primero.

    Paso 2: Pegue el siguiente código, en la instancia del primer objeto, dentro del segundo objeto movie clip.

    onClipEvent (load) {
    baseX = _parent._x;
    baseY = _parent._y;
    }
    onClipEvent (enterFrame) {
    distanceX = _root._xmouse – _parent._x;
    distanceY = _root._ymouse – _parent._y;
    if (distanceX
    distanceX = -distanceX;
    }
    if (distanceY
    distanceY = -distanceY;
    }
    distance = Math.sqrt((distanceX*distanceX)+(distanceY*distanceY));
    if (distance -150) {
    _parent._xscale = distance;
    _parent._yscale = distance;
    }
    }
    onClipEvent (mouseMove) {
    updateAfterEvent();
    }

    En el anterior ejemplo, podemos observar que se utliza el valor de las propiedades _parent._x y _parent._y. Estos valores representan la posición del objeto padre, dentro del Stage. Además podemos ver la utilización de la función Math.sqrt que devuelve el valor de la raíz cuadrada y para cambiar el tamaño del objeto, las propiedades utlizadas son ._xscale y ._yscale.

    Atom Feed (Agrega los articulos en tu sitio)

    Originalmente escrito en Charles ProgInternet.com

    Published on July 22, 2008 · Filed under: Programacion Internet;
    No Comments

Leave a Reply

You must be logged in to post a comment.