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

Zoom aleatorio de MC's

Estas en el tema de Zoom aleatorio de MC's en el foro de Flash y Actionscript en Foros del Web. Buenasss. Bueno les tengo la siguiente pregunta, a saber: tengo varios MC dentro de otro MC, lo que necesito es que al cargar el MC ...
  #1 (permalink)  
Antiguo 14/06/2005, 17:23
 
Fecha de Ingreso: abril-2005
Mensajes: 372
Antigüedad: 12 años, 7 meses
Puntos: 0
Pregunta Zoom aleatorio de MC's

Buenasss. Bueno les tengo la siguiente pregunta, a saber:
tengo varios MC dentro de otro MC, lo que necesito es que al cargar el MC contenedor de estos MC haga un zoom en cada uno de manera aleatoria.
Es un listado de clientes, es una lista vertical, pero no son botones, tiene que hacer el zoom sin la necesidad de pasar el mouse por arriba.
Facil no? ..........para el que sabe!
Muchas tank you!!
  #2 (permalink)  
Antiguo 14/06/2005, 21:13
 
Fecha de Ingreso: abril-2005
Mensajes: 372
Antigüedad: 12 años, 7 meses
Puntos: 0
.........Nadie sabe?......una idea?.....sugerencia?......habiendo tanto diseñador/desarrollador certificado por Macromedia.......que paso?
  #3 (permalink)  
Antiguo 15/06/2005, 02:04
Avatar de [ EDO ]  
Fecha de Ingreso: julio-2004
Ubicación: Quilpué, V Región, Chile
Mensajes: 98
Antigüedad: 13 años, 4 meses
Puntos: 0
Sí, la verdad es que es bastante fácil. Pero antes que nada déjame decirte que esa no es la manera de pedir algo (me refiero a tu segundo post). Acá hay gente muy capacitada pero tambien tienen su propios problemas y de seguro trabajan bastante para segir aprendiendo. Recuerda primero que nada que el problema es tuyo y no le estás pagando a nadie para estar a tu disposición inmediata.
En ocaciones hay que esperar dias para recibir una respuesta y de todas formas se agradece, tu pregunta tan sólo lleva una tarde.

Bueno, suponiendo que sabrás aplicar el código la solución es la siguiente:

movie_clip._xscale = Math.round(50 + Math.random() * 50);

El primer número que aparece es el zoom mínimo, y la suma de ambos números es el valor máximo de zoom, por tanto este código te dará como resultado un valor aleatorio entre 50 y 100. Si no quieres que te entrege un número entero, pues le sacas el Math.round y listo.

Suerte y cuidado con los modales.
__________________
EDO
  #4 (permalink)  
Antiguo 15/06/2005, 09:48
 
Fecha de Ingreso: abril-2005
Mensajes: 372
Antigüedad: 12 años, 7 meses
Puntos: 0
De acuerdo

Hola EDO, entiendo perfectamente lo que me decis y si es que ofendi a alguien LE PIDO DISCULPAS, ya que no fue la intencion.
Nunca vi que las respuestas tarden dias en ser respondidas ya que el post desaparece y creo que si uno recurre a un foro (o al menos es como yo me manejo) es por que agoto todos los recursos que tiene para no tener que andar molestando a nadie, por que como bien decis, no le estoy pagando a nadie por una respuesta inmediata. Simplemente me lamo la atencion que tarden tanto en poner una respuesta a un problema (que si bien no supe resolver) que se que es sencillo.
Asi como vos me hiciste el gran favor (y con mucha buena voluntad, como todos los que tratamos de contribuir modestamente con lo poco o mucho que sabemos) yo tambien cuando veo que alguien necesita ayuda con algun tema en el que lo puedo ayudar, lo hago.
Bueno, volviendo al tema del codigo, te agradezco enormemente pero no es lo que estoy buscando, igualmente aprecio mucho tu esfuerzo por la respuesta Y por tratar de mantener los buenos modales tuyos y del entorno (en este caso este foro).......por lo que me siento un estupido
tratando de exigir de alguna manera, lo inexigente.
Muchas gracias EDO
  #5 (permalink)  
Antiguo 15/06/2005, 10:50
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 14 años, 10 meses
Puntos: 1
Vos tenes un mc que contiene a varios mc, pero ¿estos ultimos son instancias de un movi o son todos movi diferentes?

Si es el primer caso tenes que colocarle el codigo dentro de el, osea lo abris le colocas un nuevo mc dentro que utilizaras para colocarle el siguiente script

onClipEvent(load){
tamaño_inicio=_parent._width;
}
onClipEvent(enterFrame){
if (_parent._width<100){
tamaño = random(5);
_parent._width = _parent._width + tamaño;
}else{
_parent._width=tamaño_inicio;
}
}

Probalo y contanos como te fue
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
  #6 (permalink)  
Antiguo 15/06/2005, 11:16
 
Fecha de Ingreso: abril-2005
Mensajes: 372
Antigüedad: 12 años, 7 meses
Puntos: 0
CMC!! te agradezco mucho tu respuesta! Te cuento que el script que pusiste funciona a la perfeccion, pero desgraciadamente no es lo que busco. Me parece que me explique mal. El tema es asi, yo tengo 50 MC con sus nombres de instancias, MC1, MC2, MC3, etc, todos en un layer. En otro layer esta el script:
MovieClip.prototype.jumpSkale = function(obj, rush, friction) {
this.tempo += (obj - this._xscale) * rush;
this.tempo *= friction;
this._xscale = this._yscale += this.tempo;
};
for (var i = 1; i <= 103; i++) {
this["MC" + i].onEnterFrame = function() {
if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
this.jumpSkale(400, .9, .6);
} else {
this.jumpSkale(100, .6, .5);
}
};
}

Hasta ahi todo barbaro, cuando vos pasa el mouse por cada uno de los MC estos se agrandan y cuando sacas el mouse se achican. Lo que necesito es que si yo NO paso el mouse por encima de estos MC hagan igualmente un efecto zoom, como que se agrandan y achican de uno en uno, se entiende? Supongo que esto va en "else" reemplazando a
this.jumpSkale(100, .6, .5);
Creo...
Gracias CMC :)
  #7 (permalink)  
Antiguo 15/06/2005, 16:26
Avatar de [ EDO ]  
Fecha de Ingreso: julio-2004
Ubicación: Quilpué, V Región, Chile
Mensajes: 98
Antigüedad: 13 años, 4 meses
Puntos: 0
Sonrisa Otra opción

Hola otraverix

Antes que nada, me alegra saber que te tomaste de buena forma mis comentarios, y aprovecho para decirte que no creo que ofendieras a alguien, yo sólo te lo dije como recomendación para mantener el buen espíritu del foro. Además yo no soy ningún santo como para andar dando lecciones de moral.

Ahora tu inquietud:

Si he entendido bien, tu problema es bastante diferente de lo que se entendió en un principio. Entonces, al momento en que el mouse pasa sobre los MC se agrandan (¿de golpe o progresivamente?) y yo supongo que ese evento ejecuta cierto script. Lo que tendrías que hacer es ejecutar a ese mismo script independiente de lo que haga el mouse, ejcutarlo de manera aleatoria utilizando una condición.

SI quieres probar otro código, ocupa el siguiente:

Código HTML:
//...........................................................
// VARIABLESDE CONFIGUARACIÓN

zoom_max = 150;
zoom_min = 100;
factor_de_zoom = 10;
rango_aleatoriedad = 30;

//...........................................................


agrandando = false;

this.onEnterFrame = function () {
	
	// ZOOM CON EL MOUSE
	
	if(this.hitTest(_root._xmouse , _root._ymouse , true)) {
		if (this._xscale <= zoom_max) {
			this._xscale = this._xscale + factor_de_zoom;
			this._yscale = this._yscale + factor_de_zoom;
		}
		sobre = true;
	}else if (automatico == false) {
		if (this._xscale >= zoom_min) {
			this._xscale = this._xscale - factor_de_zoom;
			this._yscale = this._yscale - factor_de_zoom;
		}
		sobre = false;
	}
	
	// ZOOM ALEATORIO
	
	if (agrandando == false) {
		activar = random(rango_aleatoriedad) == 10 ?  true : false;
	}else{
		activar = activar;
	}
	
	if (sobre == false) {
		if(activar == true) {
			if (this._xscale <= zoom_max) {
				this._xscale = this._xscale + factor_de_zoom;
				this._yscale = this._yscale + factor_de_zoom;
				agrandando = true;
			}else{
				agrandando = false;
			}
		}else{
			if (this._xscale >= zoom_min) {
				this._xscale = this._xscale - factor_de_zoom;
				this._yscale = this._yscale - factor_de_zoom;
			}
		}
		automatico = true;
	}else{
		automatico = false;	
	}

}

Colócalo dentro del primer frame de cada MC que has creado (MC1, MC2, MC3...)
__________________
EDO
  #8 (permalink)  
Antiguo 15/06/2005, 21:00
 
Fecha de Ingreso: abril-2005
Mensajes: 372
Antigüedad: 12 años, 7 meses
Puntos: 0
OK! voy a probarlo y te cuento
Gracias EDO!
  #9 (permalink)  
Antiguo 16/06/2005, 11:44
 
Fecha de Ingreso: abril-2005
Mensajes: 372
Antigüedad: 12 años, 7 meses
Puntos: 0
Bueno, te cuento que combine el script que me diste con el que ya tenia y quedo un efecto muy interesante :)) asique te agradezco!!
Nos vemos!!
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 13:14.