Foros del Web » Creando para Internet » Flash y Actionscript »

Problema con posición aleatoria (AS3)

Estas en el tema de Problema con posición aleatoria (AS3) en el foro de Flash y Actionscript en Foros del Web. Que tal compañeros, vengo a consultarles... Verán, tengo una película que mediante AS3 creo unas mmm "bolitas" de manera aleatoria pero de alguna manera siempre ...
  #1 (permalink)  
Antiguo 21/01/2011, 18:02
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Problema con posición aleatoria (AS3)

Que tal compañeros, vengo a consultarles...

Verán, tengo una película que mediante AS3 creo unas mmm "bolitas" de manera aleatoria pero de alguna manera siempre manteniéndose en un radio al centro de la película, hasta aquí todo bien, ahora, lo que intento hacer es animar cada bolita y que se mueva a una posición aleatoria pero que ahora abarque toda la película, ya logre animarla, pero no obtener realmente alguna posición aleatoria, ya que siempre obtengo que se muevan a la esquina inferior derecha, lo que quiero es que algunas se vallan hacia arriba y a la derecha o a la izquierda y que otras lo mismo pero hacia abajo...

Les dejo el código AS3 que eh generado hasta el momento...
Código actionscrip:
Ver original
  1. package  {
  2.     import flash.display.Shape;
  3.     import flash.utils.Timer;
  4.     import flash.events.TimerEvent;
  5.     import flash.display.Sprite;
  6.     import fl.transitions.Tween;
  7.     import fl.transitions.easing.*;
  8.     import fl.transitions.TweenEvent;
  9.    
  10.     public class burbujas extends Sprite {
  11.  
  12.         public function burbujas() {
  13.             inicio();
  14.         }
  15.        
  16.         private function inicio() {
  17.             var tmTiempo:Timer = new Timer(100,50);
  18.             tmTiempo.addEventListener(TimerEvent.TIMER, crear);
  19.             tmTiempo.start();
  20.         }
  21.        
  22.         private function crear(evento:TimerEvent) {
  23.             var posX:uint = Math.round((Math.random() * 100) + 150);
  24.             var posY:uint = Math.round((Math.random() * 50) + 100);
  25.             var posXfin:uint = Math.floor(Math.random() * 200);
  26.             var posYfin:uint = Math.floor(Math.random() * 100);
  27.            
  28.             trace("posicion final: " + posX.toString());
  29.             var spBurbuja:Shape = new Shape();
  30.             spBurbuja.graphics.beginFill(Math.random() * 0xFFFFFF);
  31.             spBurbuja.graphics.drawCircle(posX,posY,5);
  32.             addChild(spBurbuja);
  33.            
  34.             var animacionX:Tween = new Tween(spBurbuja, "x", Strong.easeOut, spBurbuja.x, posXfin, 4, true);
  35.             var animacionY:Tween = new Tween(spBurbuja, "y", Strong.easeOut, spBurbuja.y, posYfin, 4, true);
  36.            
  37.             //animacionX.addEventListener(TweenEvent.MOTION_FINISH, finalizar);
  38.         }
  39.        
  40.         private function finalizar(evento:TweenEvent) {
  41.             //evento.target.
  42.         }
  43.     }
  44.    
  45. }

De antemano muchas gracias
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #2 (permalink)  
Antiguo 21/01/2011, 21:16
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: Problema con posición aleatoria (AS3)

Al final, me respondo a mi mismo >.< ajaja...

Cuando se crea el objeto burbuja (shape) en la propiedad drawCircle tenia que poner 0 en las opciones X y Y, y por medio de la posición eh "global" (no se como realmente se llama) de X y Y posicionar el objeto, abajo para que se entienda mejor pongo el código...
Código actionscript:
Ver original
  1. private function crear(evento:TimerEvent) {
  2.             var posX:uint = Math.round((Math.random() * 100) + 150);
  3.             var posY:uint = Math.round((Math.random() * 50) + 100);
  4.             var posXfin:uint = Math.random() * stage.stageWidth; //Obtengo un numero random sin pasar el ancho de la película
  5.             var posYfin:uint = Math.random() * stage.stageHeight; //Obtengo un numero random sin pasa el alto de la película
  6.            
  7.             trace("posicion final: " + posX.toString());
  8.             var spBurbuja:Shape = new Shape();
  9.             spBurbuja.graphics.beginFill(Math.random() * 0xFFFFFF);
  10.             spBurbuja.graphics.drawCircle(0, 0, 5); //Creo el objeto, pero en la posición 0 para X y Y
  11.             spBurbuja.x = posX; //Ahora posiciono el objeto en las coordenadas indicadas
  12.             spBurbuja.y = posY;
  13.             addChild(spBurbuja);
  14.            
  15.             var animacionX:Tween = new Tween(spBurbuja, "x", Strong.easeOut, spBurbuja.x, posXfin, 4, true);
  16.             var animacionY:Tween = new Tween(spBurbuja, "y", Strong.easeOut, spBurbuja.y, posYfin, 4, true);
  17.         }
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Etiquetas: aleatoria
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:39.