
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:
stage.addEventListener(MouseEvent.MOUSE_MOVE,mover);
3/En la función mover, recogemos las coordenadas del ratón (que son las locales del objeto) y las convertimos en globales:
var punto:Point = localToGlobal(new Point(mouseX,mouseY));
4/Colocamos el objeto en el nuevo punto:
x = punto.x;y = punto.y;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;; } }}
@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
@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