Comunidad de diseño web y desarrollo en internet online

swf o frames sin repetir

Citar            
MensajeEscrito el 27 Dic 2009 08:40 am
Que tal amigos de CRISTALAB!

En primer lugar los saludo y les deceo un muy buen año ahora que esta por iniciar.

Bien compañeros tengo este problema y ojala me puedan ayudar.
Quiero cargar varios swf sin que se repitan a traves de un boton. Los swf se cargan con loadmovie en diferentes frames.
lo que quiero hacer es que al ya pasar todos los frames que puedan
este codigo lo encontre y me selecciona un frame al azar

Código ActionScript :

on(release){
   bloque1.gotoAndStop(Math.round(Math.random()*51 + 2));
   
}
el amigo CIBERNETIK me paso un archivo para cargar y no repetir los swf, sin embargo cuando ya pasaron todos, aunque se presione el boton no se carga nada mas

Código ActionScript :

on(release){
   no_repetir();
   no_repetir=function(){
   aleatorio = Math.round(Math.random()*50);
   if (repetidos[aleatorio] == 2){
      if (a <= 50){
      no_repetir();
      }else{
         trace("Todos los numeros estan repetidos");
      }
   }else{
if (aleatorio<=9) {
   loadMovie("pelicula000"+aleatorio+".swf", _level1);
  repetidos[aleatorio] = 2;
  a++;
} else {
   loadMovie("pelicula00"+aleatorio+".swf", _level1);
   repetidos[aleatorio] = 2;
   a++;
   trace(a);
}
}
}
}
me gustaria que me dijeran que puedo hacer para elegir un frame distinto sin repetir y ya que terminaron cargar otro otra vez del primer ojemplo.

o como puedo en el segundo ejemplo para que al pasar todas los swf cargador se pueda elegir nuevamente otro.


QUE SEAN UN CICLO, PERO DENTRO DE CADA CICLO QUE NO SE PUEDAN REPETIR LAS OPCIONES.


por su atencion y respuestas muchas gracias!

Por ocelote

5 de clabLevel



 

msie8
Citar            
MensajeEscrito el 28 Dic 2009 12:03 am
La verdad no se si entendí que quieres hacer. Si lo que quieres es desordenar tus SWFs, y luego reproducirlos, al llegar al final, volver a iniciar. Entonces te recomendaría hacer lo siguiente:

1. Crea un array original con los "SWFs"
2. Desordenalo usando sort()
3. Carga normalmente con un index las posiciones del nuevo array desordenado
4. Al llegar al final, simplemente igual la var index nuevamente a 0

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 29 Dic 2009 04:12 am
que tal Hernán un saludo
mira tengo vartios swf y cargo cada uno en un frame distinto. el orden en el que esten no importa mucho. ahora lo que quiero es que al presionar un boton, este seleccione al azar un frame para que muestre la pelicula que tiene asignada una vez que termina el swf cargado automaticamente se descarga para dejar nuevamente el lugar a la pelicula principal.
ahora el objetivo es este, pasar por todos los frames sin que se repita uno pero al ya haber pasado todos que se seleccione otro de los que ya pasasaron y que se vuelva a iniciar el ciclo

ejemplo


f1 f2 f3 f4 f5 f6 f7 son los frames

f1/ / f4 / /f7 ya solo quedan frame 1 frame 4 y frame 7

/ / / / / / / ya pasaron todos los frames

f1 f2 f3 f4 f5 f6 f7 habilitados todos los frames nuevamente


gracias por tu respuesta y ojala si me haya dado a entender.

Por ocelote

5 de clabLevel



 

msie8
Citar            
MensajeEscrito el 29 Dic 2009 04:32 am
Prueba algo así:

Código ActionScript :

var frames:Array = ["f1", "f2", "f3", "f4", "f5", "f6"];
frames = no_repetir(frames);
var index:Number = 0;

function no_repetir(Arr_Target:Array):Array {
   var Arr:Array = Arr_Target;
   for (var x = 0, y = Arr.length; x<Arr.length; x++, y--) {
      Arr.push(Arr.splice(random(y), 1));
   }
   return Arr;
}

function doNext():Void {

   if (index<frames.length) {
      index++;
   } else {
      index = 0;
   }

   bloque1.gotoAndStop(frames[index]);

}

btn_next.onRelease = doNext;


Por cierto, la imagen has puesto es contra las reglas. Cambiala ya que tu avatar puede tener como máximo 100x100 pixeles.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 22 Feb 2010 01:13 am
Que tal amigos, continuo con mi duda, la explico nuevamente, espero que me puedan ayudar, de verrdad necesito su ayuda.

quiero hacer una pelicula que con un boton seleccione diferentes frames donde hay una accion para cargar un swf externo, la cuestion es que me gustaria que no se repitiera ningun swf o frame pero que cuando ya hayan pasado todos se puedan volver a elegir y asi reiniciar el ciclo.

CIBERNETIK me paso este codigo que funciona de maravilla, pero al terminar todas las opciones aunque de clic con el boton no se carga nada

Código ActionScript :

on(release){
   no_repetir();
   no_repetir=function(){
   aleatorio = Math.round(Math.random()*50);
   if (repetidos[aleatorio] == 2){
      if (a <= 50){
      no_repetir();
      }else{
         trace("Todos los numeros estan repetidos");
      }
   }else{
if (aleatorio<=9) {
   loadMovie("pelicula000"+aleatorio+".swf", _level1);
  repetidos[aleatorio] = 2;
  a++;
} else {
   loadMovie("pelicula00"+aleatorio+".swf", _level1);
   repetidos[aleatorio] = 2;
   a++;
   trace(a);
}
}
}
}


El amigo Hernan publico este codigo, pero no se que estoy haciendo mal que no me hace nada

Código ActionScript :

var frames:Array = ["f1", "f2", "f3", "f4", "f5", "f6"];
frames = no_repetir(frames);
var index:Number = 0;

function no_repetir(Arr_Target:Array):Array {
   var Arr:Array = Arr_Target;
   for (var x = 0, y = Arr.length; x<Arr.length; x++, y--) {
      Arr.push(Arr.splice(random(y), 1));
   }
   return Arr;
}

function doNext():Void {

   if (index<frames.length) {
      index++;
   } else {
      index = 0;
   }

   bloque1.gotoAndStop(frames[index]);

}

btn_next.onRelease = doNext;



les adjunto mi archivo en fla para que puedan ver lo que estoy haciendo y me puedan orientar, y muchas gracias de antemano por su tiempo y sugerencias

Archivo en flash

Por ocelote

5 de clabLevel



 

msie8

 

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