Movimiento de Objetos en ActionScript 3.0
Mediante la clase Timer podemos establecer un intervalo de llamada a una función para desarrollo de una acción, de una forma continuada.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | package { import flash.display.Sprite; import flash.events.TimerEvent; import flash.utils.Timer; import flash.events.Event; /** * ... * @author DefaultUser (Tools -> Custom Arguments...) */ public class Moviendo1 extends Sprite { //creacion del movieclip private var _elemento: Sprite; private var _velocidadx:Number = 5; private var _velocidady:Number = 3; private var _intervalo :Timer; public function Moviendo1( ) { _elemento = new Sprite(); _intervalo = new Timer(20); _elemento.graphics.beginFill(0x0000ff, 100); _elemento.graphics.drawCircle (0, 0, 25); _elemento.graphics.endFill(); //posición inicial _elemento.x = 20; _elemento.y = 20; //añadimos el elemento a la lista _intervalo.addEventListener("timer", desplazar); _intervalo.start(); addChild(_elemento); } private function desplazar( evento : TimerEvent ):void { //establecemos la velocidad de movimiento _elemento.x += _velocidadx; _elemento.y += _velocidady; // 500 es el ancho de la aplicacion y 400 la altura if ((_elemento.x >= 500 ) || (_elemento.y >= 400)) { _elemento.x = 20; _elemento.y = 20; } } } } |