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

mirar este codigo

Estas en el tema de mirar este codigo en el foro de Flash y Actionscript en Foros del Web. Mirar tengo un visor de imagenes con las opciones de zoom in y out, desplazamiento y restablecer. En este ejemplo hay una imagen bastante pequeña, ...
  #1 (permalink)  
Antiguo 07/02/2007, 01:30
Avatar de alllebor  
Fecha de Ingreso: septiembre-2006
Mensajes: 295
Antigüedad: 17 años, 6 meses
Puntos: 1
mirar este codigo

Mirar tengo un visor de imagenes con las opciones de zoom in y out, desplazamiento y restablecer.

En este ejemplo hay una imagen bastante pequeña, yo quiero meter un mapa de grandes dimensiones, el problema es que no se como hacer que al abrir el archivo swf ponerle unas dimensiones por defecto para reducir el mapa y se pueda ver todo, luego con el zoom el usuario ya se acercará por donde quiere.

Tambien me gustaria que la imagen (en mi caso el mapa) quedará siempre encuadrado dentro del flash, que no se pudiera desplazar por completo hacia una esquina pudiendo desaparecer de la zona visible.

Una cosita más, y perdonar por abusar pero es que me urge bastante, se puede bloquear el boton de maximizar?? es que esto lo quiero para ejecutarlo desde un cd, pero no quiero que se pueda maximizar la pantalla del swf cuando se abra desde el visor flash, se puede hacer??

Gracias

este es el codigo del flash

Código:
//----------------------------------------------------------------------------
//									Inicio
//----------------------------------------------------------------------------
#include "movimientos.as"
sententido = cuanto=2
mano = dir =false;
scale =100;
finalx=finaly=200
ecuacion="easeInOutQuad";
vel = 30;
Mouse.hide();
MovieClip.prototype.dibujaRectangulo = function(width, height, x, y) {
	this.moveTo(x, y);
	this.lineTo(width, y);
	this.lineTo(width, height);
	this.lineTo(x, height);
	this.lineTo(x, y);
};
function escalar (xReceptor,yReceptor,xOriginal,yOriginal,rellenar) {
	var xscale = xReceptor/xOriginal;
	var yscale = yReceptor/yOriginal;
	if (rellenar) return Math.max(xscale,yscale)* 100;
	else return Math.min(xscale,yscale)* 100;
};
cuad=mapa.foto.createEmptyMovieClip("cuadrado", 1);
//----------------------------------------------------------------------------
//									ZOOM
//----------------------------------------------------------------------------
mapa.onPress = function() {
	if(mano){
		this.startDrag();
	}else{
		this.inix = this.foto._xmouse;
		this.iniy = this.foto._ymouse;
		this.onEnterFrame = function() {
			cuad.clear();
			cuad.lineStyle(.4, 0xffffff,50);
			cuad.dibujaRectangulo(this.foto._xmouse, this.foto._ymouse,
								  this.inix, this.iniy);
		};
	};
};

mapa.onRelease = mapa.onReleaseOutside= function() {
	if(mano){
		this.stopDrag();
	}else{
		this.inix = Math.min(this.inix,this.foto._xmouse);
		this.iniy = Math.min(this.iniy,this.foto._ymouse);
		delete this.onEnterFrame;
		if (cuad._width*scale/100>10 || cuad._height*scale/100>10){
			this.foto.mover(ecuacion, vel, 0, {
						_x:-this.inix-(cuad._width/2),
						_y:-this.iniy-(cuad._height/2)			
						});
			scale=escalar(finalx,finaly,cuad._width,cuad._height);
			this.mover(ecuacion, vel, 0, {
						_xscale:scale , _yscale:scale,
						_x:finalx/2, _y:finaly/2
						},
						function(){cuad.clear();});
		}else{
			cuad.clear();
			scale *= sententido;
			this.foto.mover(ecuacion, vel, 0, {
						_x:-this.foto._xmouse, 
						_y:-this.foto._ymouse
						});
			this.mover(ecuacion, vel, 0, {
					    //aplicamos scale
						_xscale:scale , _yscale:scale,
						_x:this._parent._xmouse, _y:this._parent._ymouse
						});
		}
	}
};
//----------------------------------------------------------------------------
//									lupa
//----------------------------------------------------------------------------
// paso de explicar esto...
function verLupa(){
	if(!mano){
		_root.lupa._visible = true;
		Mouse.hide();
		_root.onMouseMove = function() {
			_root.lupa.moverIni({_x:this._xmouse, _y:this._ymouse});
			updateAfterEvent();
		};
	}
};
function esconderLupa(){
	_root.lupa._visible = false;
	Mouse.show();
	delete _root.onMouseMove ;
};
verLupa();
//----------------------------------------------------------------------------
//									botones 
//----------------------------------------------------------------------------
btZoom.onPress = function() {
	if (mano) {
		btMano.activado = mano=false;
		btMano._alpha = 100;
	} else {
		if (dir) sententido = cuanto;
		else sententido = 1/cuanto;
		dir = !dir;
		this.gotoAndStop(dir+1);
		this._parent.lupa.gotoAndStop(dir+1);
	}
};
btMano.onPress = function() {
	this.activado = !this.activado;
	if (this.activado) {
		mano = true;
		esconderLupa();
		this._alpha = 50;
	} else {
		mano = false;
		verLupa();
		this._alpha = 100;
	}
};
//zona de descanso de la lupa 
barPepe.onRollOver=function() {
	esconderLupa();
	this.useHandCursor = false;
}
barPepe.onRollOut = verLupa;
btMano.onRollOver=esconderLupa;
btMano.onRollOut = verLupa;
btZoom.onRollOver=esconderLupa;
btZoom.onRollOut = verLupa;
//----------------------------------------------------------------------------
//									reset 
//----------------------------------------------------------------------------
btReset.onRollOver=esconderLupa;
btReset.onRollOut = verLupa;
btReset.onPress = function() {
	//trace(this._parent.mapa._x+" - "+this._parent.mapa._y)
	this._parent.mapa.foto.mover(ecuacion, vel, 0, {
						_x:0,
						_y:0
						});
	this._parent.mapa.mover(ecuacion, vel, 0, {
						_xscale:scale=30.4 , _yscale:30.4,
						_x:470, _y: 329
						});
}
__________________
Quien no me pregunta no se entera!!
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 15:06.