Clips Aleatorios

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 13

Desordenando un array!!

Cdigo :

function mezclar(bar){ var m= bar.length-1; for (var i=m;i>1;i--){ alea=Math.floor(i*Math.random()) ; temp=bar[i]; bar[i]=bar[alea]; bar[alea]=temp; 1778 de clabLevel } return(bar); } Envale un mensaje privado 14 tutoriales Por Teseo SWAT Team

arr=[1,2,3,4,5,6,7,8,"casa","barco"]; mezclar (arr); trace(arr); //8,5,4,barco,2,3,1,6,7,ca sa

Citar Escrito el 10 May 2006 03:30 pm Gracias por su respuesta, tambien encontre este prototipo que funciona muy bien y es un poquito mas corto. a ver que opinan...

Por heberto 263 de clabLevel 1 tutorial 1 ejemplo

Cdigo :

Array.prototype.desordenar = function () { for (var x=0, y=this.length;x<this.length;x++,y--) { this.push(this.splice(random(y), 1)) } } Envale un mensaje privado Email Web

Muchas gracias por su atencion, estamos en contacto

Morelia, Michoacn

Citar Escrito el 10 May 2006 05:20 pm Tu mismo. A qu llamas " un poquito mas corto"? Prueba esto:

Cdigo :

function mezclar(bar){ var m= bar.length-1; for (var i=m;i>1;i--){ alea=Math.floor(i*Math.random()); temp=bar[i]; bar[i]=bar[alea]; bar[alea]=temp; } return(bar);

Array.prototype.desordenar = function () { for (var x=0, y=this.length;x<this.length;x++,y--) { this.push(this.splice(random(y), 1)) } } ciclos= 500; a=[]; for (v=0; v< ciclos; v++){ a[v]=v; } T=getTimer(); mezclar(a); trace("Tiempo con mezclar: "+(getTimer()-T)); T=getTimer(); a.desordenar(); trace("Tiempo con desordenar: "+(getTimer()-T));

Para 100 elementos(ciclos) mezclar es 20 veces ms rpido que desordenar. Para 500 elementos mezclar es 100 veces mas rpido que desordenar. Para 2000 elementos mezclar es 400 veces!! mas rpido que desordenar.

y la progresion es GEOMETRICA. para 10000 ciclos puedes pasarte un buen rato esperando, de orden de 40 segundos ........con mezclar para 10000 ciclos 0,3 segundos!!!

Repito: Tu mismo.

Y si lo quieres en prototype ( este es casi el doble de rpido que la funcin mezclar)

Cdigo :

Array.prototype.desordenar = function () { var m= this.length-1; for (var i=m;i>1;i--){ var alea=Math.floor(i*Math.random()); var temp=this[i]; this[i]=this[alea]; this[alea]=temp; } }

posiciones aleatorias de clips


MUCHAS GRACIAS POR TU ORIENTACIN! Me ha sido muy, muy til. Ahora ya soy capaz de colocar aleatoriamente los clips en un "orden". A pesar de todo, me he encontrado con un pequeo problema que no he sabido solucionar y me tomo la libertad de comentarlo. Me explico: tengo la programacin colocada dentro de una funcin "crearPartida()". Ah es donde creo el array "arrayClips:array". Pasa que si dentro del array coloco los clips instanciados ("clip1","clip2", "clip3") y despus les asigno una posicin no los muestra en el escenario cuando publico.

Cdigo :

crearPartida(){ var clipsArray:array = new Array("clip1","clip2", "clip3") //aqu coloco la funcin para desordenar el array clipsArray[0]._x = 100 clipsArray[0]._y = 100 clipsArray[1]._x = 200 clipsArray[1]._y = 100 clipsArray[2]._x = 300 clipsArray[2]._y = 100 }

En cambio, si el array contiene las posiciones y stas las adjudico a los clips s funciona. Cmo que no me adjunta los clips si estn vinculados desde la biblioteca? Qu hago mal? +++++++

Ayuda con posicin aleatoria de clips de pelculas

Cdigo :

stop (); MovieClip.prototype.randmo_posicion = function () { x = this._parent._width - this._width; this._x = Math.floor(Math.random() * x); }; boton.onRelease = function () { _root.contenedor.c1.randmo_posicion(); _root.contenedor.c2.randmo_posicion(); _root.contenedor.c3.randmo_posicion(); _root.contenedor.c4.randmo_posicion(); _root.contenedor.c5.randmo_posicion(); } Envale un mensaje privado Email Por josemiguelmm87 6 de clabLevel

Citar Escrito el 27 Sep 2008 11:39 pm Es muy difcil que lo logres con un prototype, ya que la funcin no depende de un solo movie sino de varios, lo mejor es hacer una funcin a la que le mandes el

Por elchininet

nombre de los movies que debe situar y el MovieClip que los contiene y que esta se ocupe de desorganizar el orden de los movies y despus situarlos a la misma distancia uno de otro, algo como esto:

Claber

Cdigo :

stop();

3839 de clabLevel //---Prototype de indexOf Array.prototype.indexOf = function(search):Number { 16 tutoriales Envale un mensaje privado

var total:Number = this.length; var index:Number = -1; var item:Number = 0; var finded:Boolean = false;

while (item < total && !finded) {

if (this[item] == search) { index = item; finded = true; } else { item++; } } return index;

};

function randomPos(movies:Array, holder:MovieClip):Void {

//---Desordenar el arreglo var newMovies:Array = new Array(); var actual:Number = 0; var total:Number = movies.length; var nombre:String; var rand:Number;

while (actual < total) {

rand = Math.floor(Math.random() * total); nombre = movies[rand];

if (newMovies.indexOf(nombre) < 0) {

newMovies.push(nombre); actual++;

//---Calcular el ancho total de los movies var anchoMovies:Number = 0;

for(var i:Number = 0; i < total; i++){

anchoMovies += holder[newMovies[i]]._width;

//---Calcular la separacin que deben de tener var separa:Number = (holder._width - anchoMovies) / (total + 1);

//---Darle posicin a los movies segn la separacin calculada var posX:Number = separa;

for(var i:Number = 0; i < total; i++){

holder[newMovies[i]]._x = posX + holder[newMovies[i]]._width / 2; posX += holder[newMovies[i]]._width + separa;

boton.onRelease = function() {

randomPos(["c1", "c2", "c3", "c4", "c5"], contenedor);

};

Espaa

Citar Escrito el 28 Sep 2008 01:19 am

Por josemiguelmm87 6 de clabLevel Gracias elchininet por la pronta respuesta, voy a hacer lo que me dices y ta pronto lo haga, te lo agradeecer de nuevo. Envale un mensaje privado Email

Citar Escrito el 30 Sep 2008 01:32 am Efectivamente elchininet, tu ayuda me solucion el problema, Gracias de nuevo aqu abajo el nuevo archivo con tu cdigo:

++++++++++++++++++++++++++++++ +******************-------------------------------------

Hola chicos! I've been trying to figure out how I could set a objects X position randomly, to a set position . He estado tratando de averiguar cmo

poda establecer una posicin X objetos al azar, a una posicin fija. Basically I want said movieclip to appear at one of 5 positions randomly. Bsicamente quiero movieclip dijo a aparecer en una de las cinco posiciones al azar. Here's the code I've been using: Aqu est el cdigo que he estado utilizando:
function onLoad() { onLoad function () { _x = Math.random(55, 175, 295, 415, 535); _x = Math.random (55, 175, 295, 415, 535); _y = -50; _y = -50; speed = Math.random()*4+5; velocidad = Math.random () * 4 + 5; } }

I've also tried: Tambin he probado:


function onLoad() { onLoad function () { RandomNumber = Math.random(55, 175, 295, 415, 535); RandomNumber = Math.random (55, 175, 295, 415, 535); _x = RandomNumber; _x = RandomNumber; trace (RandomNumber); trace (RandomNumber); -50; _y = -50; _y =

speed = Math.random()*4+5; velocidad = Math.random () * 4 + 5; } }

And the trace gets this: Y la traza se lo siguiente: 0.629098687320948 0,629098687320948

0.11952053848654 0.11952053848654 0.115509286522865 0,115509286522865 0.310474040452391 0,310474040452391 And so on, and so on.. Y as sucesivamente, y as sucesivamente .. If anyone knows how to do this, I would be very grateful! Si alguien sabe cmo hacer esto, yo estara muy agradecido! I think if you want a random number say, from 0 to 100, you would do Math.rand()*100 If you needed, say, 100 200, you would do Jan 14, 2009 6:52pm 14 de enero 2009 Math.rand()*100 + 100. =-) Creo que si se 6:52 pm quiere un nmero aleatorio ... por ejemplo, de 0 a 100, lo hara Math.rand()*100 ... Si es necesario, por ejemplo, 100 - 200, que hara Math.rand()*100 Frogmanex 5690 posts + 100. =-) Math.rand()*100 + 100. =-) Frogmanex 5690 mensajes Are you trying to make it choose between those five Flag Post Marcar mensaje numbers? Est usted tratando de hacer que elegir entre esos cinco nmeros? (55, 175, etc) (55, 175, etc ...) ... Something along these lines: Algo como lo siguiente: Jan 14, 2009 6:53pm 14 de enero 2009 values = [55, 175, 295, 415, 535] valores 6:53 pm = [55, 175, 295, 415, 535] FunkyPear 189 posts 189 mensajes Flag Post Marcar mensaje
_x = values[ Math.floor(Math.random()*5) ] _x = valores [Math.floor (Math.random () * FunkyPear 5)]

Math.random() gives you a random number between 0 and 1. Math.random () le da un nmero al azar entre 0 y 1.

Jan 14, 2009 6:54pm 14 de enero 2009 6:54 pm What he said. ^ Lo que l dijo. ^ Frogmanex 5690 posts Frogmanex 5690 mensajes Flag Post Marcar mensaje

Jan 14, 2009 6:56pm 14 de enero 2009 Yes that would work, and I have done that in my 18:56 versions of shoot. S que funciona, y lo he hecho en mi versin de "disparar". But I want said objects X position to randomly be put at either. Pero quiero chitown15 1293 posts que dichos objetos al azar la posicin X a ser puesto chitown15 1293 mensajes en cualquiera. 55, 175, 295, 415, or 535. 55, 175, Flag Post Marcar mensaje 295, 415 o 535. If I put Math.random()*535 My object could be set to anywhere from 0 to 535 on the screen. Si pongo Math.random()*535 Mi objetivo se podra establecer entre 0 y 535 en la pantalla. Thanks though Gracias, aunque Edit@FunkyPear Thank you very much! Edit @ FunkyPear Muchas gracias! Something along these lines: Algo como lo siguiente:
values = [55, 175, 295, 415, 535] valores = [55, 175, 295, 415, 535] _x = values[ Math.floor(Math.random()*5) ] _x = valores [Math.floor (Math.random () * 5)]

I think if you want a random number say, from 0 to 100, you would do Math.rand() 100 If you needed, say, 100 200, you would do Math.rand() 100 + 100. Creo que si se quiere un nmero aleatorio ... por ejemplo, de 0 a 100, lo hara Math.rand () 100 ... Si es necesario, por ejemplo, 100 - 200, que hara Math.rand () 100 + 100. =-) =-)

Jan 14, 2009 11:40pm 14 de enero 2009 11:40 pm Vara 1553 posts Vara 1553 mensajes Flag Post Marcar mensaje

Math.random() gives you a random number between 0 and 1. Math.random () le da un nmero al azar entre 0 y 1. And what if Math.floor(Math.random()*5) returns 5? Y si Math.floor(Math.random()*5) devuelve 5? (very low chance, but still possible) (Probabilidad muy baja, pero an posible) its more advised to use: sus ms aconseja el uso de:
_x = values[Math.round(Math.random()*4)] _x = valores [Math.round (Math.random () * 4)]

Jan 15, 2009 12:27am 15 de enero 2009 12:27a.m.

Actually, no. Math.random() will never return 1 the range of possible values is from 0 to 1- (where is the lowest positive number able to be

represented). . En realidad, no Math.random() nunca devolver 1 - el rango de valores posibles es de 0 a 1- (donde es el menor nmero positivo puede ser representado). Thus, Math.random() * 5 will never return 5, and so flooring that won't either. Por lo tanto, Math.random() * 5 nunca volvern 5, y el suelo de modo que tampoco lo har. Jabor 11382 posts Jabor 11382 In addition, if you use the rounded version, you get mensajes an uneven probability distribution the first and last Flag Post Marcar mensaje values in the array are only half as likely as the others to come up. Adems, si utiliza la versin redondeada, se obtiene una distribucin de probabilidad desigual - el primer y el ltimo de la matriz son slo la mitad de probabilidades que los dems a subir. Jan 15, 2009 3:39am 15 de enero 2009 3:39 am random(5) (not Math. ) returns between 0 and 4; i know it's depreciated but it still works fairly well random(5) (que no Math. ) devuelve entre 0 y 4; s skyboy 5851 posts skyboy 5851 que es depreciado, pero todava funciona bastante bien mensajes 3 botones que quiero que aparezcan en posiciones aleatorias. Estas Tengo Flag Post Marcar mensaje lo nico que cambia es el boton, quiero decir el orden posiciones son fijas,
++++++++++++++++++++++++++++++++++++++ de los botones: +****************************--------------------------

caso 1: boton1, boton3 y boton2. caso 2: boton3, boton1 y boton2.

He pensado en crear nmeros aleatorios y hasta que he dado con el codigo para que no repitiese los nmeros me ha hecho ponerme y bien las pilas (no me gusta utilizar un codigo sin entenderlo y dejarlo a mi manera).

Pero ahora estoy completamente estancado. Estoy intentando establecer la posicin de estos botones de la siguiente forma.

1. He puesto a los botones un nombre de instancia: b1, b2 y b3. 2. Despues de cerrar el bucle (tambien lo he intentado dentro) he puesto:

_root.numero[0]._x=100; _root.numero[0]._y=100;

También podría gustarte