Comunidad de diseño web y desarrollo en internet online

Como cargar movieclips aleatoriamente en un swf

Citar            
MensajeEscrito el 19 May 2006 02:51 am
mi consulta para los grandes genios del actionscript es la siguiente
se que debe ser facil para ustedes pero a mi me ayudaria un monton.

necesito cargar aleatoriamente movieclips, un momento que no es tan facil, es decir yo tengo que tener en la libreria del archivo muchas imagenes de personajes y lo que me gustaria es que se cargue uno distinto cada vez que actuaclize la pagina. los datos de mi trabajo son estos: hice una interpolacion de movimiento de un archivo png (que es el personaje) se mueve de abajo a arriba y se detiene con un stop en el ultimo frame. me gustaria que cambie ese simbolo de interpolacion osea el contenido, que yo nada mas tenga que cargar las fotos y el flash lo haga solo. una de las opciones que se me ocurrio fue hacer varios movieclips y que se carguen ellos osea que SWAMP, nose como se dice en español, el movieclip por otro. nose como hacerlo, cualqueir tipo de ayuda es util

gracias ^^

Por lucas1234

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 May 2006 03:28 am
asi:

supongamos que tus imagenes se llaman "img00.png", "img01.png", etc si?

luego, supongamos que el movieCLip donde estarían metidos los png se llama "cargador", entonces dentro de cargador, en el primer frame ponemos:

Código :

randomico = random(4);
this.loadMovie("img0"+randomico+".png");


Ese "4" seria la cantidad de imagenes, pero tenes que tener en cuenta que random(4) va a dar aleatorios entre el 0 y el 3, o sea, en total son 4 números. Asi que ese script te sirve para imagnes que vayan del "img00" al "img03".
Y ademas cada vez que subas más imagenes tendrías que cambiar el swf modificando el valor 4 por otro..... asi que en vez de 4 vas a tener que poner un valor que se pueda cambiar desde afuera del swf, como por ej. desde el html donde esta embebido el swf.

Eso se haría con una variable definida en el html, o sea, si o si vas a tener que cambiar ese numero, pero no vas a tener que cambiar el swf. (hay maneras de hacerlo autómaticamente pero es por medio de php y no creo que quieras complicarte más)

La cosa sería entonces asi. El anterir script lo cambiamos por:

Código :

randomico = random(_root.numeroRandomico);
this.loadMovie("img0"+randomico+".png");


_root.numeroRandomico va a ser el numero que le pasemos a flash desde el html, y eso lo hacemos asi:
(algo como esto tendrás en tu html)

Código :

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="550" height="400" id="miFlash" align="middle">
            <param name="allowScriptAccess" value="sameDomain" />
            <param name="movie" value="miFlash.swf" />
            <param name="quality" value="high" />
            <param name="bgcolor" value="#ffffff" />
            <param name="FlashVars" value="numeroRandomico=8" />
            <embed src="miFlash.swf" FlashVars="numeroRandomico=8" quality="high" bgcolor="#ffffff" width="550" height="400" name="miFlash" align="middle" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />            
            </embed>


Si revisas bien tu embed con este veras que hay dos diferencias:
<param name="FlashVars" value="numeroRandomico=8" />
y
FlashVars="numeroRandomico=8"

Ahi es donde pones en vez de 8 el numero de imagenes (segun lo que te explique más arriba, o sea si son la última imágen es img25.png, el numero va a tener que ser 26)
La película de flash obtiene (se le pasa) al ser llamado asi: _root.numeroRandomico y este hace un random del mismo y lo usa para hacer el loadMovie.

Y listo.

Por arriba

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 May 2006 04:32 am
Muchas graicas ARRIBA
pero lamentablement me surgio otro problema. el codigo que me diste de ramdomino funciona, es decir, carga cualqueir imagen que este en la libreria lo que pasa es que no aparece en el projector. aparece un erro diciendo que no encuentra la imagen por ejemplo la IMG02.png en el temp. para ser mas claro ya le cambie los nombres que tenian los archivos por IMG00, IMG01 y IMG03.
Te agradezco mucho que me hayas puesto la solucion para le html pero no es necesario yo voy a cambiar una cnatidad de fotos y no va a variar esa cantidad. igual estoy muy agradecido por haberte tomado el tiempo de ocntestar. si tenes alguna solucion para mi problema es bienvenida sino no hay problema, bueno si hay es ese que te dije (chiste malo)

Por lucas1234

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 May 2006 04:50 am
primero ojo con las mayúsculas y minusculas, si la imagen se llama "IMG00.png", no es lo mismo que "img00.png" (para windows si, pero muchos servidores usan linux y cuando este online no te va a andar)

lo otro es que cuando yo te digo que pongas this.loadMovie("img0"+randomico+".png");
es porque supuse que las imagenes estaban en la misma carpeta que el swf.
si las imagenes estan en otro lado, entoces tenes que especificar donde estan en el loadMovie, por ej.

si las imagenes estan en una carpeta "temp" seria this.loadMovie("temp/img0"+randomico+".png");

Por arriba

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 May 2006 04:52 am
Ya lo pense, lo analice y lo que me seria util ,para no pedir codigos tna dificiles, solamente necesito cargar diferentes MOVIE CLPIS cada vez que se cargue el swf. puedo utilizar el codigo

randomico = random(4);
this.loadMovie("img0"+randomico+".png");

que me paso el amable ARRIBA pero tendria que cambiar el .png por el formato de MOVIE CLIP.
dudo mucho que sea punto algo.
nose hacer lo si alguien queire ayudarme es bienvenido a hacerlo

Por lucas1234

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 May 2006 05:10 am
ARRIBA gracias nuevamente
pero en realidad me di cuenta uqe lo que necesito es que cargue un solo de los MOVIECLIPS que tengo en mi libreria y lo ubique en la orbita x=0 e y=0 asi me queda en el lugar exacto.
si podes ayudarme te lo agradeceria

Por lucas1234

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 31 May 2006 01:43 am
hola una pregunta si tengo este código

randomico = random(4);this.
loadMovie("img0"+randomico+".png");

pero no quiero que sean random sino que sean consecutivos, como lo puedo hacerwe, mis imagenes son: img000.png, img001.ong y así sucecivamente.... como podría hacer que me cargarán consecutivamente sin ser random?

bueno de antemano gracias...

Por ivan_grimaldo

0 de clabLevel



 

msie

 

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