Foros del Web » Creando para Internet » Flash y Actionscript »

Banner Aleatorio que no Cambia

Estas en el tema de Banner Aleatorio que no Cambia en el foro de Flash y Actionscript en Foros del Web. Hola a todos: Mi Problema es que tengo 4 banner's distintos que cargo en un contenedor de una película principal, cada banner de estos tiene ...
  #1 (permalink)  
Antiguo 01/06/2008, 19:05
 
Fecha de Ingreso: julio-2007
Mensajes: 73
Antigüedad: 16 años, 9 meses
Puntos: 0
Pregunta Banner Aleatorio que no Cambia

Hola a todos:
Mi Problema es que tengo 4 banner's distintos que cargo en un contenedor de una película principal, cada banner de estos tiene una duración de 90 fotogramas a 12fps, lo que pasa es que carga un solo banner y no carga mas, se queda reproduciendo el mismo banner una y otra vez al darle actualizar al explorador de internet me cambia de banner pero se queda en el mismo nuevamente.

el codigo que utilizo es el siguiente:
loadMovie("banners/banner00" + (1+random(4)) + ".swf", "contenedor_mc");

Muchas gracias y saludos.
  #2 (permalink)  
Antiguo 02/06/2008, 06:24
 
Fecha de Ingreso: abril-2008
Mensajes: 613
Antigüedad: 16 años
Puntos: 22
Respuesta: Banner Aleatorio que no Cambia

Hola,
La cuestión es ¿Dónde estás poiendo la línea de código que nos indicas?
Si la estás poniendo al principio de tu película principal, en un fotograma, y no vuelves a él, es imposible que se cargue.
La línea de código se tiene que volver a ejecutar en algún momento. ¿Cuál es?
__________________
Compartir es vivir
www.programador-php.com
  #3 (permalink)  
Antiguo 02/06/2008, 07:04
 
Fecha de Ingreso: mayo-2008
Ubicación: Andalucía
Mensajes: 78
Antigüedad: 15 años, 11 meses
Puntos: 8
Respuesta: Banner Aleatorio que no Cambia

Hola,

comentarte que el generador de número aleatorios que trae flash de serie es bastante, bastante malo, vamos, que de "aleatorio" tiene poco. En concreto tiene preferencia por los número más bajos siempre.

¿Cómo solucionamos esto?. La primera opción sería crearte tu propio generador de números aleatorios (los congruenciales son los más sencillitos) pero no somos tan frikis, vayamso con soluciones más "asequibles".

Lo primero que deberías hacer es crear dos funciones

function aleatorioDistinto()
{
nuevo_aleatorio = random(4);
if (nuevo_aleatorio == antiguo_aleatorio)
{
nuevo_aleatorio = aleatorioDistinto();
}else{
antiguo_aleatorio = nuevo_aleatorio;
return nuevo_aleatorio;
}
}


function cargaBanner()
{
nuevo_aleatorio = aleatorioDistinto()
loadMovie("banners/banner00" + (1+nuevo_aleatorio) + ".swf", "contenedor_mc");
}

Para que esto ocurra de forma periodica cada x segundos tendriamos que escribir la siguiente línea
setInterval(cargaBanner(), x*1000);

y ya está. Contando en palabras lo que hemos hecho ha sido, crear una función que se encarga de que el nuevo aleatorio generado sea distinto del anterior. Crear una función que se encargar de cargar el nuevo banner. Mediante la función setInterval hacer que la cargar del banner se repita cada x segundos.

Un saludo y espero que te sirva.
  #4 (permalink)  
Antiguo 02/06/2008, 18:15
 
Fecha de Ingreso: julio-2007
Mensajes: 73
Antigüedad: 16 años, 9 meses
Puntos: 0
Pregunta Respuesta: Banner Aleatorio que no Cambia

Hola Flai, Muchas gracias por tu respuesta.
Tu código esta muy bueno pero lastimosamente no me funciono, de un momento a otro se queda en blanco y después de un tiempo vuelve y carga uno de los 4 banners pero de vez en cuando vuelve y se queda en blanco; en random le baje a 3 y hasta a 2 y sigue cargando en blanco.

Flai me puedes ayudar???

Saludos
  #5 (permalink)  
Antiguo 03/06/2008, 02:35
 
Fecha de Ingreso: mayo-2008
Ubicación: Andalucía
Mensajes: 78
Antigüedad: 15 años, 11 meses
Puntos: 8
Respuesta: Banner Aleatorio que no Cambia

prueba a poner algunos trace() en el código para ver si está haciendo lo que quieres.

Por ejemplo, pon un trace(nuevo_aleatorio) dentro de cargaBanner y otro para trace("banners/banner00" + (1+nuevo_aleatorio) + ".swf"), a ver si el problema viene por ahí.

Un saludo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:19.