Seguir el puntero del ratón en Actionscript 3.0

Etiquetas: MouseEvent MOUSE_MOVE Point localToGlobal mouseX mouseY

Este tutorial es muy sencillo, pero cuando empecé a aprender flash hace 5 o 6 años, estaban "de moda" los tutoriales de este tipo.

Se solía hacer para que una serie de letras siguieran al puntero, con diferentes movimientos y tipos de easing. Para crear un elemento que siga al puntero, sólo hay que seguir los siguientes pasos:

1/ Creamos el Símbolo (en este caso una mosca) y lo linkamos a una clase (en este caso "Seguidor")

2/En la clase Seguidor, añadimos un evento que detecte el movimiento del ratón:

  1.  
  2. stage.addEventListener(MouseEvent.MOUSE_MOVE,mover);
  3.  

3/En la función mover, recogemos las coordenadas del ratón (que son las locales del objeto) y las convertimos en globales:

  1.  
  2. var punto:Point = localToGlobal(new Point(mouseX,mouseY));
  3.  

4/Colocamos el objeto en el nuevo punto:

  1.  
  2. x = punto.x;
  3. y = punto.y;
  4.  

package{
 
	import flash.display.Sprite;
	import flash.events.MouseEvent;
	import flash.geom.Point;
 
	public class Seguidor extends Sprite{
 
		public function Seguidor():void{
 
			stage.addEventListener(MouseEvent.MOUSE_MOVE,mover);
 
		}
 
		public function mover(e:MouseEvent):void{
			var punto:Point = localToGlobal(new Point(mouseX,mouseY));
			x = punto.x;
			y = punto.y;;
		}
 
	}
 
}

Comentarios:
yense dijo:
hola bueno estoy recien dentrando al ambito del flash 3.0 pero de las cuales no tengo muchas ideas del 2.0 me refiero al Actionscript. bueno no se si puderas postear los .fla de tus ejemplos eso me ahira mucho bien a mi bueno gracias de todos modos por este ejemplo
Manolo dijo:
Como se linka la imagen de la mosca con la clase seguidor???
bg16 dijo:
oye ya lo intente pero no se puede me dice que no se esperaba package
bg16 dijo:
ademas ese codigo es muy largo estan otros mas mucho mas cortos y funcionan =
andresxx1 dijo:
Pues a mi me parece muy bueno, saludos y gracias por el aporte :D
esedeerre dijo:

@bg16:

El código que ves más arriba es de una clase. Seguramente lo estás poniendo en linea de tiempo y por eso te dá ese error. Dudo que puedas hacer lo mismo, utilizando una clase en AS3, con menos código.

@andresxx1:

Gracias por tu comentario

Abel dijo:
Man la verdad todo lo que has expuesto esta muy bueno pero en este caso particular para los que no sabemos mucho de AS nos quedamos en cero, no se si puedas subir un ejemplo para descargar y asi familiarizarnos un poco mejor con los conceptos.
Ariell1 dijo:
donde puedo encontrar: cómo se hace y como funciona una class? gracias
esedeerre dijo:

@Ariell1:

Puedes encontrar un par de artículos sobre creación de clases en AS3 aqui:

http://www.esedeerre.com/portada/09/flash-ejemplos-y-tutoriales-de-actionscript-3.0-basico

Enrique dijo:
Manolo: El codigo lo pones en un documento "Seguidor.as" En tu documento fla que tienes el clip de pelicula con cualquier nombre (no necesita tampoco nombre de instancia) haz click derecho en ese simbolo clip de la libreria y escoge "vinculacion...", luego activa "Exportar para actionScript" y escribe en Clase: Seguidor Guarda el documento en la misma carpeta del archivo Seguidor.as (este contiene todo el codigo que nos dio esedeerre.com) y ya pulsa control + Enter
joel rodriguez dijo:
porque no pones el archivo .fla? quines apenas empezamos tu ejemplo no nos sirve de mucho porque ni siquiera sabemos como implementarlo hay varias preguntas al aire, claro que con el archivo es mas facil ver donde pones el codigo y los objetos que usas, gracias espero puedas complementar bien tu informacion.
Dejar un comentario:
Tu nombre (obligatorio):

E-mail (obligatorio, no se mostrará):

Web: