Comunidad de diseño web y desarrollo en internet online

Random Duda

Citar            
MensajeEscrito el 23 Jul 2007 04:59 am
Bueno pues tengo una duda, mi duda es con respecto a hacer que las imágenes salgan al azar, etc.
Y código tiene algo que no funciona, al intentar cargar las 21 imágenes al azar (si, son 21) sólo me carga unas cinco o seis imágenes, luego en el panel salida, salen los mensajes de error porque no se pudieron cargar las demás imágenes "Error al abrir la URL 'file:///D|/Documentos%20xxxx/undefined'.

mi código es el siguiente:



Código :

import mx.controls.Loader;
import mx.containers.Accordion;

var image0uri:String = "images/image0.jpg";
var image1uri:String = "images/image1.jpg";
var image2uri:String = "images/image2.jpg";
var image3uri:String = "images/image3.jpg";
var image4uri:String = "images/image4.jpg";
var image5uri:String = "images/image5.jpg";
var image6uri:String = "images/image6.jpg";
var image0uri:String = "images/image7.jpg";
var image1uri:String = "images/image8.jpg";
var image2uri:String = "images/image9.jpg";
var image3uri:String = "images/image10.jpg";
var image4uri:String = "images/image11.jpg";
var image5uri:String = "images/image12.jpg";
var image6uri:String = "images/image13.jpg";
var image0uri:String = "images/image14.jpg";
var image1uri:String = "images/image15.jpg";
var image2uri:String = "images/image16.jpg";
var image3uri:String = "images/image17.jpg";
var image4uri:String = "images/image18.jpg";
var image5uri:String = "images/image19.jpg";
var image6uri:String = "images/image20.jpg";
var image6uri:String = "images/image21.jpg";
var totalImages:Number = 22;
var repetir:Array = new Array();
var pasada:Number;


//Inicia el proceso de placemente de imagenes.
for (var i:Number = 0; i<totalImages; i++) {
   pasada = randRange(0, (totalImages-1));
   slideShow_mc.slides_mc["holder"+i].loadMovie(this["image"+pasada+"uri"],slideShow_mc.slides_mc.getNextHighestDepth());
   if ( i <= 3 || (i == totalImages-1))
   repetir[i] = ["image"+pasada+"uri"];
   }
       
   
//Funcion para el numero aleatorio   
function randRange(min:Number, max:Number):Number {
    var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
    return randomNum;
}



//Agarra las primera 4 imagenes y la ultima imagen para poder hacer la animacion
slideShow_mc.slides_mc["primera"].loadMovie(this[repetir[0]], slideShow_mc.slides_mc.getNextHighestDepth());
slideShow_mc.slides_mc["tercera"].loadMovie(this[repetir[2]], slideShow_mc.slides_mc.getNextHighestDepth());
slideShow_mc.slides_mc["segunda"].loadMovie(this[repetir[1]], slideShow_mc.slides_mc.getNextHighestDepth());
slideShow_mc.slides_mc["cuarta"].loadMovie(this[repetir[3]], slideShow_mc.slides_mc.getNextHighestDepth());
slideShow_mc.slides_mc["ultima"].loadMovie(this[repetir[4]],slideShow_mc.slides_mc.getNextHighestDepth());
[code][/code][code][/code][code][/code][code][/code]

Por johnes

17 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Jul 2007 11:08 am

johnes escribió:


Código :

import mx.controls.Loader;
import mx.containers.Accordion;

var image0uri:String = "images/image0.jpg";
var image1uri:String = "images/image1.jpg";
var image2uri:String = "images/image2.jpg";
var image3uri:String = "images/image3.jpg";
var image4uri:String = "images/image4.jpg";
var image5uri:String = "images/image5.jpg";
var image6uri:String = "images/image6.jpg";
var image0uri:String = "images/image7.jpg";
var image1uri:String = "images/image8.jpg";
var image2uri:String = "images/image9.jpg";
var image3uri:String = "images/image10.jpg";
var image4uri:String = "images/image11.jpg";
var image5uri:String = "images/image12.jpg";
var image6uri:String = "images/image13.jpg";
var image0uri:String = "images/image14.jpg";
var image1uri:String = "images/image15.jpg";
var image2uri:String = "images/image16.jpg";
var image3uri:String = "images/image17.jpg";
var image4uri:String = "images/image18.jpg";
var image5uri:String = "images/image19.jpg";
var image6uri:String = "images/image20.jpg";
var image6uri:String = "images/image21.jpg";
var totalImages:Number = 22;
var repetir:Array = new Array();
var pasada:Number;


Creo que lo que te pasa es que pones varias variables con el mismo nombre :D

Por infernalpr

236 de clabLevel



 

LoL

firefox
Citar            
MensajeEscrito el 23 Jul 2007 02:08 pm
yo creo que seria mejor que crearas un aleatorio y ese se lo pegaras al nombre de la imagen ;)

saldria mucho mas facil

por ejemplo

Código :

loadMovie("images/image"+randomNum+".jpg");


con esto solo tienes que generar el numero

trata y me cuentas

Por jpcw

Claber

1715 de clabLevel

1 tutorial

Genero:Masculino  

AlgoritmicBrainDesigner

firefox
Citar            
MensajeEscrito el 23 Jul 2007 07:00 pm
Si que me funciona gracias :D, ya era de noche y no me fije en esas variables.
Tengo un error, en esta parte

Código :

for (var i:Number = 0; i<totalImages; i++) {
   pasada = randRange(0, (totalImages-1));
   slideShow_mc.slides_mc["holder"+i].loadMovie("images/image"+pasada+".jpg",slideShow_mc.slides_mc.getNextHighestDepth());
   if ( i <= 3 || (i == totalImages-1))
        //Creo que el error yace aqui:
   repetir[i] = ("images/image"+pasada+".jpg");
   }
       
//Agarra las primera 4 imagenes y la ultima imagen para poder hacer la animacion, y por //consecuente esto no funciona :S

slideShow_mc.slides_mc["primera"].loadMovie(this[repetir[0]], slideShow_mc.slides_mc.getNextHighestDepth());
slideShow_mc.slides_mc["tercera"].loadMovie(this[repetir[2]], slideShow_mc.slides_mc.getNextHighestDepth());
slideShow_mc.slides_mc["segunda"].loadMovie(this[repetir[1]], slideShow_mc.slides_mc.getNextHighestDepth());
slideShow_mc.slides_mc["cuarta"].loadMovie(this[repetir[3]], slideShow_mc.slides_mc.getNextHighestDepth());
slideShow_mc.slides_mc["ultima"].loadMovie(this[repetir[4]],slideShow_mc.slides_mc.getNextHighestDepth());


Lo que pasa que no me lee las url de las 5 ultimas sentencias, supongo que es por que no guardo bien la url en la variable, o no es la forma correcta de hacerlo.

Alguna solucion?

Por johnes

17 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Jul 2007 08:27 pm
ya ya duda resuelta xP, todo era por el "this" antes de la URL de carga :P
Thx

Por johnes

17 de clabLevel



 

firefox

 

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