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

banners aleatorios dentro de un MC

Estas en el tema de banners aleatorios dentro de un MC en el foro de Flash y Actionscript en Foros del Web. Quiero reproducir banners (movie clips) aleatoriamente dentro de un movie clip uno seguido de otro. De momento, tengo el siguiente código: Código: banners = new ...
  #1 (permalink)  
Antiguo 10/03/2006, 06:12
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
banners aleatorios dentro de un MC

Quiero reproducir banners (movie clips) aleatoriamente dentro de un movie clip uno seguido de otro. De momento, tengo el siguiente código:
Código:
banners = new Array("mc1.swf", "mc2.swf");
var indice:Number = Math.round(Math.random()*(banners.length-1));

this.loadMovie(banners[indice], 1);

this.onEnterFrame = function() {
	if( this._currentframe == this._totalframes ){
		trace("evento");
	}
}
El código escoge un MC aleatorio y lo reproduce correctamente. Nada más comenzar se muestra el mensaje 'evento' por lo que me imagino que no está mirando las propiedades _currentframe y/o _totalframes del MC cargado sino del continente. ¿Alguna ayuda? Gracias de antemano.
  #2 (permalink)  
Antiguo 10/03/2006, 10:25
Avatar de -=ArgoN=-  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona, España
Mensajes: 843
Antigüedad: 18 años, 6 meses
Puntos: 1
Prueba con esto:

Código:
banners = new Array("mc1.swf", "mc2.swf");
var indice:Number = Math.round(Math.random()*(banners.length-1));

this.loadMovie(banners[indice], 1);

this.onEnterFrame = function() {
	if(this._width != 0){
		if( this._currentframe == this._totalframes ){
			trace("evento");
		}
	}
}
Lo unico que hice es imponer la condicion que si el ancho del contenedor es diferente de 0, que empieze a controlar si se ha llegado al ultimo frame (eso suponiendo que tu contenedor este vacio al principio claro...)

Saludos,

ArgoN
  #3 (permalink)  
Antiguo 10/03/2006, 11:15
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 19 años, 1 mes
Puntos: 0
es posible que un movieClip tenga un acho de 0 (por ejemp, en el caso de que tenga sólo código y haga uso de LoadMovie o attachMovie para hacer la animacion)

en tal caso creo que es más conveniente ver si ya comenzó a descargarse el movieclip

if(this.getBytesLoaded > 0){

:D
__________________
Si digo que soy mentiroso. ¿Lo soy?
  #4 (permalink)  
Antiguo 13/03/2006, 09:39
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Tengo el código de la siguiente manera:
Código:
banners = new Array("banner1.swf", "banner2.swf");
function getRandomBanner() {
	var indice:Number = Math.round(Math.random()*(banners.length-1));
	return banners[indice];
}
this.onEnterFrame = function() {
	trace(this._currentframe + "/" + this._totalframes);
	if (this._width == 0) {
		this.loadMovie(getRandomBanner(), 1);
	} else {
		if (this._currentframe == this._totalframes) {
			trace("evento");
		}
	}
};
Ejecutándolo, sólo muestra un '1/1' y no printa nada más. Esto me hace pensar que con this no estoy accediendo al banner que se reproduce sino al movieClip que lo contiene. ¿Cómo podría acceder al banner?
  #5 (permalink)  
Antiguo 14/03/2006, 02:29
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Nadie tiene ni idea? Estoy bloqueado!
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 22:09.