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

Como cerrar mc desde dentro (que tiene function)? [Solucionado!]

Estas en el tema de Como cerrar mc desde dentro (que tiene function)? [Solucionado!] en el foro de Flash y Actionscript en Foros del Web. Hola, les explico, quiero crear simil a una ventana de navegador flotante con su boton de cerrar en la esquina sup derecha. Tengo un movieclip ...
  #1 (permalink)  
Antiguo 08/02/2008, 02:22
Avatar de Bouman  
Fecha de Ingreso: febrero-2008
Mensajes: 3
Antigüedad: 9 años, 10 meses
Puntos: 0
De acuerdo Como cerrar mc desde dentro (que tiene function)? [Solucionado!]

Hola, les explico, quiero crear simil a una ventana de navegador flotante con su boton de cerrar en la esquina sup derecha.

Tengo un movieclip ("opcion") que contiene la ventana y el boton ("bot_cerrar"), dentro del movieclip tengo este codigo para hacer el efecto Drag and Drop

Código:
function glideToMouse() {
	_x += (_parent._xmouse-_x)*.2;
	_y += (_parent._ymouse-_y)*.2;
}
this.onMouseDown = function() {
	this.onEnterFrame = null;
};
this.onMouseUp = function() {
	this.onEnterFrame = null;
};
this.onPress = function() {
	this.onEnterFrame = this.glideToMouse;
	this._xscale = this._yscale=105;
};
this.onRelease = function() {
	this._xscale = this._yscale=100;
};
y tengo puesto en boton este codigo para que descarge el MovieClip

Código:
on (release) {
	_root.unloadMovie("opcion",2);

}
No logro hacer que funcione la función del boton por que lo anula el codigo que imita el "drag-and-Drop", he intetado poniendo el startDrag.. pero tampoco funciona el boton de cerrar, he intentado añadir la función desde el codigo dentro del MovieClip, pero no he sabido.

Saben alguna manera de hacer funcionar el boton dentro del Movieclip? Gracias de antemano.

Última edición por Bouman; 08/02/2008 a las 04:30 Razón: Cambio de titulo, avisar de que está solucionado el problema
  #2 (permalink)  
Antiguo 08/02/2008, 03:10
Avatar de Mahalo  
Fecha de Ingreso: julio-2004
Ubicación: Mallorca (Illes Balears)
Mensajes: 1.121
Antigüedad: 13 años, 4 meses
Puntos: 12
Re: Como cerrar mc desde dentro (que tiene function)?

¿Cómo cargas la ventana? Es por tener más información acerca de cómo cerrarla.
Yo incluiría las acciones de botón con el resto del código.
Código:
bot_cerrar.onRelease = function() {
   // código para cerrar ventana -> removeMovieClip()
}
Saludos!
__________________
Los ignorantes se empeñan en enseñar. Los sabios en aprender.
SourceForge
  #3 (permalink)  
Antiguo 08/02/2008, 03:29
Avatar de Bouman  
Fecha de Ingreso: febrero-2008
Mensajes: 3
Antigüedad: 9 años, 10 meses
Puntos: 0
Re: Como cerrar mc desde dentro (que tiene function)?

Gracias Mahalo,

pues la verdad de momento estoy a ver si logro hacer que se cierre la "ventanita"; pero en principio cargaré desde un SWF central, el resto de SWF (opciones) con el

loadmovieNum ("opcion.swf", 2)

he probado el codigo que me pasas, pero no me funciona. He de decir que he logrado mediante el startDrag que funcione el sistema de que arrastre la ventana y se cierre al clickar la X,

Creando dentro del MovieClip "opcion" un boton "invisible" con la forma de la ventana a excepción de la parte del boton, y le he puesto el siguiente codigo (de lo más básico) ahí.
Código:
on (press) {
startDrag ("", false);
}
on (release) {
stopDrag ();
}
y para cerrar el mismo codigo que tenía

Código:
on (release) {
	_root.unloadMovie("opcion",2);

}
Ahora a mirar forma de suavizar el movimiento mediante el StartDrag.

solo necesitaría suavizar el movimiento y ya me serviría aunque pierdo el efecto de que se centre...
  #4 (permalink)  
Antiguo 08/02/2008, 03:40
Avatar de Bouman  
Fecha de Ingreso: febrero-2008
Mensajes: 3
Antigüedad: 9 años, 10 meses
Puntos: 0
De acuerdo Re: Como cerrar mc desde dentro (que tiene function)?

Ya he encontrado la solución, con un sistema parecido al anterior.

La solución ha sido hacer una capa invisible dentro del movieclip con la forma de la ventana a excepción del boton Cerrar, y atribuirle las zonas calientes de acción, y dar los resultados al movieclip entero, por lo que se mueve todo al efecto deseado y el boton hace su función. Aunque al final he puesto todo el codigo en un frame, como recomendó Mahalo. Es decir para hacerlo bien.

1 MovieClip con la instancia opcion
(dentro)
1 boton con la instancia bot_cerrar
1 boton o movieclip con instancia zona, con la forma de la ventana excepto el espacio usado para el boton de cerrar
1 capa (en este caso) para el diseño de la ventana
1 capa para el ActionScript con el siguiente codigo

Código:
function deslizamientoMouse() {
	_x += (_parent._xmouse-_x)*.2;
	_y += (_parent._ymouse-_y)*.2;
}
zona.onMouseDown = function() {
	_root.opcion.onEnterFrame = null;
};
zona.onMouseUp = function() {
	_root.opcion.onEnterFrame = null;
};
zona.onPress = function() {
	_root.opcion.onEnterFrame = _root.opcion.deslizamientoMouse;
	_root.opcion._xscale = _root.opcion._yscale=105;
};
zona.onRelease = function() {
	_root.opcion._xscale = _root.opcion._yscale=100;
};

bot_cerrar.onRelease = function() {
_root.unloadMovie("opcion",2);  
}
De esta forma, al ejecutar el SWF, veremos una ventana (el movieclip) que podremos desplazar con suavidad y que automaticamente se centra, y en el momento deseado cerrar al clickar sobre el boton cerrar que está inclusive dentro del movieclip (por lo tanto lo acompaña en sus moviemientos)

Tal vez exista una forma más abreviada, pero así me lo he cocinao yo ;)

Última edición por Bouman; 08/02/2008 a las 03:55
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 21:37.