Comunidad de diseño web y desarrollo en internet online

random

Citar            
MensajeEscrito el 02 Oct 2007 03:30 pm
hola!! tengo un problema
tengo 3 movieclips q les llame en la instancia
clip1,clip2 y clip3

komo puedo hacer para no esten en el mismo lugar y estos clip sean aleatorios??

kon q codigo puedo hacerlo?

espero me ayuden gracias.

Por ramosol

36 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Oct 2007 04:18 pm
Hola.. como va?...
mira podes hacer una funcion simple. Que genere un random.
por ejemplo
var miRandom = Math.floor(Math.random() * 3)+1;
con esto, lo que haces es generar un random de 0 a 2 esto es> (0,1,2)=3 numeros.
si queremos que el random sea del 1 al 3 y no del 0 al 2, lo que haces es sumarle uno al final>
* 3)+1;

Bueno ya teniendo un random haceho de 3 numeros, podes hacer un random mayor.
podes hacer un random por ejemplo para definir la coordenada X y la COordenada Y de nuestro elemento.
por ejemplo>
//aca tenes un random del total del width que tiene tu swf
var XRandom = Math.floor(Math.random() * Stage.width)+1;
//aca tenes un random del total del height que tiene tu pelicula
var YRandom = Math.floor(Math.random() * Stage.height)+1;

Bueno.. hasta aca, ya tenes un rango de posiciones X e Y. Teniendo esto podes acomodar tus objetos por separado.
Por ejemplo podes hacer un bucle que acomode los objetos>

for ( i = 0; i < 3; i++) {
var XRandom = Math.floor(Math.random() * Stage.width)+1;
var YRandom = Math.floor(Math.random() * Stage.height)+1;
//VAS A ver que aac te devuelve 3 randoms diferentes...
//COn esto lo que podes hacer es aplicarselo a los objetos que tengas y listo
// Ya tenes 3 objetos en dif pos
}

Un saludo!..
Espero que te sirva!

Por tomas.piccinini

52 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Oct 2007 04:22 pm
Una cosa que me olvide de decirte es que tenes que tener cuidado con que los objetos no se te pasen del swf.

entonces lo que tenes que hacer es al random restarle lo width y el height del movieCLip que queres posicionar.
EJ>

var XRandom = Math.floor(Math.random() * (Stage.width - mc._width))+1;
var YRandom = Math.floor(Math.random() * (Stage.height - mc._height))+1;

saludos!

Por tomas.piccinini

52 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Oct 2007 04:56 pm
holaaa muchas gracias... tomas, pero me puedes explicar paso a paso komo hacerlo?? es que soy novato en esto,
te lo agradezco.. muchisimo..
saludos

Por ramosol

36 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Oct 2007 05:08 pm
contame esactamente que es lo que qurees hacer y yo te lo explico paso a paso.

saludos!

Por tomas.piccinini

52 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Oct 2007 05:17 pm
ok.. mira el problema esta asi..

estoy haciendo un juego con la aplicacion con la aplicacion stardrag, para aplicar eso, coloque 3 movieclip

a cada uno le puse un nombre de instancia de clip11, clip12 y clip13

el juego ya funciona, pero al momento de abrir el swf quiero que los movie clip cambien aleatoriamente de lugar para que no siempre esten ahi mismo...

saludos!!

Por ramosol

36 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Oct 2007 05:31 pm

Código :

for (i=10; i<13; i++) {

   var XRandom = Math.floor(Math.random()*Stage.width)+1;

   var YRandom = Math.floor(Math.random()*Stage.height)+1;

   this["clip"+i]._x = XRandom;

   this["clip"+i]._y = YRandom;

}


Creas las variables para el posicionamiento aleatorio y se las aplicas a los respectivos clips ^^

Por infernalpr

236 de clabLevel



 

LoL

firefox
Citar            
MensajeEscrito el 02 Oct 2007 05:33 pm
gracias tomas.. esta la aplico en el primer frame verdad??
como creo las variables??

muchas gracias de nuevo..

Por ramosol

36 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Oct 2007 05:35 pm
ok...Bueno mira... vos tenes que hacer el random de las posiciones de los objetos entonces>

Basandome en lo que te dije anterior mente este seria el codigo que tendria que usar>

//CON ESTO DEFINIS EL RANDOM PARA EL PRIMER CLIP!!!
var Xclip11Random = Math.floor (Math.random () * (Stage.width - clip11._width)) + 1;
var Yclip11Random = Math.floor (Math.random () * (Stage.height - clip11._height)) + 1;

//CON ESTO DEFINIS EL RANDOM PARA EL SEGUNDO CLIP!!!
var Xclip12Random = Math.floor (Math.random () * (Stage.width - clip12._width)) + 1;
var Yclip12Random = Math.floor (Math.random () * (Stage.height - clip12._height)) + 1;

//CON ESTO DEFINIS EL RANDOM PARA EL TERCER CLIP!!!
var Xclip13Random = Math.floor (Math.random () * (Stage.width - clip13._width)) + 1;
var Yclip13Random = Math.floor (Math.random () * (Stage.height - clip13._height)) + 1;

//CON ESTO LE ASIGNAS EL RAMDOM QUE QUEDO GUARDADO EN LAS VARIABLES PARA EL CLIP 11
clip11._x = Xclip11Random;
clip11._y = Yclip11Random;

//CON ESTO LE ASIGNAS EL RAMDOM QUE QUEDO GUARDADO EN LAS VARIABLES PARA EL CLIP 12
clip12._x = Xclip12Random;
clip12._y = Yclip12Random;

//CON ESTO LE ASIGNAS EL RAMDOM QUE QUEDO GUARDADO EN LAS VARIABLES PARA EL CLIP 13
clip13._x = Xclip13Random;
clip13._y = Yclip13Random;

espero que te sirva!!

saludos

Por tomas.piccinini

52 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Oct 2007 05:37 pm
Tomás ? Vaya, veo que me has cambiado el nombre

Ese código lo pones en el frame donde estén los clips para el startDrag y todo eso que dices.

En cuanto a las variables se crean así:

Código :

var nombre_de_la variable = Valor


Eso es lo básico, si quieres saber más mira en la ayuda de flash.

En ese código, si te das cuenta, se crean en la linea 2 y 3, donde dice:

Código :

   var XRandom = Math.floor(Math.random()*Stage.width)+1;

   var YRandom = Math.floor(Math.random()*Stage.height)+1;

Por infernalpr

236 de clabLevel



 

LoL

firefox
Citar            
MensajeEscrito el 02 Oct 2007 05:37 pm

Por tomas.piccinini

52 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Oct 2007 05:45 pm
infernalpr una cosa... Tenes que tener en cuenta el ancho y el alto del clip antes de acomodar los objetos>>

vos escribiste

for (i=10; i<13; i++) {

var XRandom = Math.floor(Math.random()*Stage.width )+1;

var YRandom = Math.floor(Math.random()*Stage.height)+1;

this["clip"+i]._x = XRandom;

this["clip"+i]._y = YRandom;

}

y tendria que ser asi>

for (i=10; i<13; i++) {
var XRandom = Math.floor(Math.random()* (Stage.width-this["clip"+i]._width) )+1;
var YRandom = Math.floor(Math.random()*(Stage.height-this["clip"+i]._height) )+1;

this["clip"+i]._x = XRandom;
this["clip"+i]._y = YRandom;
}

saludos!!

Por tomas.piccinini

52 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Oct 2007 05:58 pm
muchas gracias tomas..e Infernalpt muchisimas gracias, me han sacado de un buen problema!!

ya lo aplique y funcionaaaaa!!! +D ahora una ultima cosa... komo puedo hacer para q estos movies se queden en un lugar especifico, en el ejemplo de tomas lo pone aleatorio pero en difente lugar (en donde sea) y yo quiero q esten alineados etc etc

muchisimos saludos

Por ramosol

36 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Oct 2007 06:30 pm
holaaa aun siguen ahi?? jeje

saludos

Por ramosol

36 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Oct 2007 06:35 pm
como te pregunte anterior mente... decime esactamente todo lo que queres hacer! asi te resolvemos las dudas de una

saludos

Por tomas.piccinini

52 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Oct 2007 06:42 pm
bueno mira.. imaginemos un cuadrado ( q es mi campo de trabajo)
adentro de este cuadrado tengo tres cuadrados alineados uno consecutivo de otro y otro segundo renglon con otros tres cuadrados igualmente alineados.. estos son los clips, el clip11 al 13

el segundo renglon en donde estan los clips son lo que voy a poner en aleatorio cada ve q abra el swf, pero quisiera q siempre estuvieran en ese lugar especifico pero los objetos que se cambien entre si por ejemplo

clip11 clip 12 clip 13 ( asi estan)

con el random

clip12 clip11 clip13

clip13 clip12 clip11 etc etc

saludos

Por ramosol

36 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Oct 2007 07:48 pm
Mira ahora estoy con mucho trabajo... se me complico de repente.. a la nohce te mando una respuesta con un fla para que te guies..
saludos!!

Por tomas.piccinini

52 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Oct 2007 07:50 pm
:oops: muchas gracias esperare tu respuesta muchisisismas gracias

Por ramosol

36 de clabLevel



 

firefox
Citar            
MensajeEscrito el 03 Oct 2007 01:32 pm

Por infernalpr

236 de clabLevel



 

LoL

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.