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

¿Cómo conseguir este efecto zoom?

Estas en el tema de ¿Cómo conseguir este efecto zoom? en el foro de Flash y Actionscript en Foros del Web. Hola a todos, Me gustaría hacer el siguiente efecto en mi web flash. Se trata de conseguir hacer un zoom sobre una imagen al darle ...
  #1 (permalink)  
Antiguo 05/11/2006, 10:10
 
Fecha de Ingreso: agosto-2004
Mensajes: 129
Antigüedad: 13 años, 4 meses
Puntos: 0
¿Cómo conseguir este efecto zoom?

Hola a todos,

Me gustaría hacer el siguiente efecto en mi web flash. Se trata de conseguir hacer un zoom sobre una imagen al darle al botón ENTRAR. La primera imagen sería una puerta donde se ve una cerradura, y al entrar la cerradura se va ampliando hasta que la pelicula se hace toda negra. Os pongo el ejemplo en imágenes:



¿Alguien sabe cómo hacerlo?
  #2 (permalink)  
Antiguo 05/11/2006, 10:38
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 14 años, 5 meses
Puntos: 406
Hola changingman:
Eso lo puedes hacer con una interpolación de movimiento.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #3 (permalink)  
Antiguo 05/11/2006, 16:43
 
Fecha de Ingreso: septiembre-2006
Mensajes: 1.193
Antigüedad: 11 años, 2 meses
Puntos: 30
  • agrega al escenario una foto
  • conviertela en movieclip (fijate que el punto de registro este en medio)
  • en el panel de propiedades ponle como nombre de instancia "mc"
  • coloca en un frame VACIO este codigo y juega con el
Código:
contador = 0;
function zoom() {
	mc.onEnterFrame = function() {
		mc._xscale -= (mc._xscale-(contador))*0.3;
		mc._yscale -= (mc._yscale-(contador))*0.3;
	};
}
mc.onMouseDown = function() {
	contador = contador+200;
	zoom();
};
  #4 (permalink)  
Antiguo 06/11/2006, 13:24
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 14 años, 5 meses
Puntos: 406
Hola changingman:
Si lo quieres hacer con códigos.
Coloca tu imagen dentro de un MC teniendo el punto de registro en su centro geométrico y le pones la palabra ENTRAR, al ponerlo en el escenario le das como nombre de instancia: efecto.
Estando en el escenario sobre la palabra ENTRAR coloca un botón invisible con nombre de instancia: btn.
En una segunda capa para las acciones en el primer frame escribe éste código:
btn.onRelease =function(){
efecto.onEnterFrame=function(){
if (this._xscale<1600){//éste valor lo cambias dependiendo del tamaño de tu escenario
this._xscale=this._yscale=this._xscale+20//éste número lo aumentas si quieres que sea más rápida la animación.
}else{
delete this.onEnterFrame
}
}
}

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #5 (permalink)  
Antiguo 06/11/2006, 15:18
 
Fecha de Ingreso: septiembre-2006
Mensajes: 1.193
Antigüedad: 11 años, 2 meses
Puntos: 30
.....................................

Última edición por Rizzo; 06/11/2006 a las 15:25
  #6 (permalink)  
Antiguo 06/11/2006, 15:18
 
Fecha de Ingreso: septiembre-2006
Mensajes: 1.193
Antigüedad: 11 años, 2 meses
Puntos: 30
mejor aun

ó mejor aun haz esto:
  • pontu foto en el escenario
  • conviertela en Movieclip con el punto de registro en el centro y le pones como nombre de instancia "foto"
  • crea dos botones y ponle como nombre de instancia al primero "mas" y al segundo "menos"
  • y en un fotograma VACIO pon este codigo (ahora podras arrastrar tu foto y hacerla grande y mas chica con los botones)


Código:
contador = 100;
function zoommas() {
	contador += 100;
	foto.onEnterFrame = function() {
		this._xscale -= (this._xscale-(contador))*0.3;
		this._yscale -= (this._yscale-(contador))*0.3;
	};
}
function zoommenos() {
	contador -= 100;
	foto.onEnterFrame = function() {
		this._xscale -= (this._xscale-(contador))*0.3;
		this._yscale -= (this._yscale-(contador))*0.3;
		
		if (contador<100) {
			foto._xscale = 100;
			foto._yscale = 100;
			contador = 100;
			delete foto.onEnterFrame;
		}
	};
}
foto.onMouseDown = function() {
	startDrag(foto);
};
foto.onMouseUp = function() {
	stopDrag();
};
mas.onRelease = function() {
	zoommas();
};
menos.onRelease = function() {
	zoommenos();
};
  #7 (permalink)  
Antiguo 07/11/2006, 09:50
 
Fecha de Ingreso: agosto-2004
Mensajes: 129
Antigüedad: 13 años, 4 meses
Puntos: 0
Muchísimas gracias a los dos. He conseguido hacerlo con una interpolación de movimiento, pero los códigos que me habéis dado me va a servir de mucho en próximos trabajos.

Gracias!!
  #8 (permalink)  
Antiguo 07/11/2006, 10:06
 
Fecha de Ingreso: agosto-2004
Mensajes: 129
Antigüedad: 13 años, 4 meses
Puntos: 0
Rizzo, estaba probando a hacerlo usando el último código que has puesto y es perfecto, solo tengo una duda ¿cómo hago para que el zoom se haga en un punto concreto de la foto y no en el centro de la misma?
  #9 (permalink)  
Antiguo 07/11/2006, 10:56
 
Fecha de Ingreso: septiembre-2006
Mensajes: 1.193
Antigüedad: 11 años, 2 meses
Puntos: 30
zoom

Estuve buscando y encontre este ejemplo

creo que eso es lo que quieres.
  #10 (permalink)  
Antiguo 07/11/2006, 10:59
 
Fecha de Ingreso: agosto-2004
Mensajes: 129
Antigüedad: 13 años, 4 meses
Puntos: 0
Pinta bien, voy a echarle un vistazo. Muchas gracias de nuevo!
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 16:05.