Comunidad de diseño web y desarrollo en internet online

Zoom con el scroll del mouse

Citar            
MensajeEscrito el 17 Dic 2008 02:21 pm
Hola todos
tengo un problemita con mapa multimedia que estoy haciendo
una de sus funciones
es la de escalar el mapa con el scroll del mouse (la ruedita del raton) pero no logro
hacer es que escale el mapa por el centro (he cambiado el punto de registroy no me funciona)
y tampoco logro que me respete algun limte (que la imagen tenga un tope de sacale tanto en mas como en menos)
el codigo para escalar es este.

var mouseListener:Object = new Object();
mouseListener.onMouseWheel = function(delta) {
mainMap._xscale += delta;
mainMap._yscale += delta;
};
Mouse.addListener(mouseListener);

que tengo en este mapa
tengo una barra de + y - que me scala el mapa
tengo una funcion mini mapa desde el cual puedo deplazarme por mapa el mapa real
tengo una funcion lupa que funciona arrastrando el puntero sobre mapa para hacer zoom sobre el area.

si alguien puede darme una luz sobre el manejo de la funcion scroll del raton para flash
les agradesco infinitamente

nota:
me apunto para resolver cualquier dudita en 3d max que tengan. :lol:

de antemano gracias

Por Markorincon

1 de clabLevel



 

msie
Citar            
MensajeEscrito el 17 Dic 2008 08:46 pm
no se exactamente como se resolvería, pero se me ocurre esto:

para que lo escale por el centro, debes manejar las propiedades "_x" y "_y", y seria mas interesante hacerlo según la posición del mouse, jeje

lo del limite, no te funcionara con un if? if (_xscale => 200){delta=0;}

lo otro que tienes, no creo que este impidiendo el correcto funcionamiento.

Por gcm

Claber

557 de clabLevel

3 tutoriales

Genero:Masculino  

Diseñador Grafico y Web, Geek

firefox
Citar            
MensajeEscrito el 17 Dic 2008 09:35 pm
Gracias por tu respuesta
la verdad el if si lo he probado
no se si lo estoy haciendo bien
pero tecnicamente
para este codigo no encuentro la forma de alterarlo sin dañar la funcion delta
gracias por responder

si seria mas interesante hacerlo según la posición del mouse : )

Por Markorincon

1 de clabLevel



 

msie
Citar            
MensajeEscrito el 27 Mar 2009 10:58 pm
En el frame pega este, como ya se decia al principio.

var mouseListener:Object = new Object();
mouseListener.onMouseWheel = function(delta) {
mainMap._xscale += delta;
mainMap._yscale += delta;
};
Mouse.addListener(mouseListener);


edita un movie clip (mainMap). Crea dentro otro movie clip, y dentro de ese otro movieclip. A éste ultimo le pegas este:

on (press) {
this.startDrag("",false,0,1000,1000,1000);
_root.dragging = 1;
}
on (release, releaseOutside) {
this.stopDrag();
_root.dragging = 0;

}

Este ultimo es un drag and drop (coge y arrastra). El objete se arrastrara y al mantaner el click y dejara de moverse al soltar. De esta manera, el primer movieclip actuaria como mascara. El defecto del zoomscroll del script ya citado al principio es que solo amplia hacia el centro. Dentro de ese clip metemos otro clip haciendo la funcion de objeto q movemos y soltamos a nuestro antojo.

Por danielo3d

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Mar 2009 11:07 pm
gracis por responder
esta semana subo los codigo sque manejo en el mapa
es algo mas complicado de lo parece
pue sel mapa tiene mas funciones que se dañarian si meto estos codigos
(la verdad no se donde meterlos)

Por Markorincon

1 de clabLevel



 

msie7
Citar            
MensajeEscrito el 28 Mar 2009 04:45 am
me dio weba leer :)

Por Nato_Kohanim

160 de clabLevel



Genero:Masculino  

Editor, Programador y Bloggero

msie7
Citar            
MensajeEscrito el 30 Mar 2009 06:43 pm
Hola!

justamente yo tengo el mismo problema!

con el codigo que pasaron aca pude hacer que haga zoom con el scroll..pero no que haga el zoom centrado....

le pase unos parametros y logre que al aumentar, haga el zoom centrado, pero no al disminuir.... cuando disminuyo la imagen se corre hacia arriba a la izquierda....

este es el codigo que puse


var mouseListener:Object = new Object();
mouseListener.onMouseWheel = function(delta) {
contenedorMapa.mapa_mc._xscale += delta;
contenedorMapa.mapa_mc._yscale += delta;

//// con esto logro que haga zoom centrado al aumentar, pero no al disminuir
contenedorMapa.mapa_mc._y -=75;
contenedorMapa.mapa_mc._x -=75;



};
Mouse.addListener(mouseListener);




si en vez de poner un menos pongo un mas
contenedorMapa.mapa_mc._y +=75;
contenedorMapa.mapa_mc._x +=75;

de esta forma logro que haga zoom centrado al disminuir, pero no al aumentar, no se como hacer que realice ambas acciones centradas....no se si con un if.. no se como resolver esto....


Si alguien puede ayudarme, se lo agradeceria!!

Por otro lado...al que hizo la pregunta....me interesa eso de hacer zoom por una barra, por un recuadro con el mouse, y lo del mini mapa para hubicar donde estas en el mapa... si podrias pasarme como lo hiciste me ayudarias muchisimo!!


desde ya mcuhas gracias!

Por giselalips

6 de clabLevel



 

msie7
Citar            
MensajeEscrito el 14 May 2009 12:50 pm
Yo resolvería lo de los limites de zoom de la siguiente manera:

Código :

var mouseListener:Object = new Object();
mouseListener.onMouseWheel = function(delta) {
mainMap._xscale += delta;
mainMap._yscale += delta;
if(mainMap._xscale >= 200) {
mainMap._xscale = 200; //200 seria el máximo de zoomIn
mainMap._yscale = 200;
}
if(mainMap._yscale <= 100) {
mainMap._xscale = 100; //100 seria el mínimo de zoomOut
mainMap._yscale = 100;
};
Mouse.addListener(mouseListener);

Espero que le sirva a alguien ya que el post es un cacho viejo. Saludos.

Por matesasesinos

18 de clabLevel



 

Desarrollo Web

chrome

 

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