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

Drag and drop y botón invisible no me sale.

Estas en el tema de Drag and drop y botón invisible no me sale. en el foro de Flash y Actionscript en Foros del Web. Quiero conseguir clicar en un objeto con drag and drop y que me lleve a otra página.Parece sencillo pero no hay manera que me salga. ...
  #1 (permalink)  
Antiguo 20/05/2012, 13:01
 
Fecha de Ingreso: mayo-2011
Mensajes: 335
Antigüedad: 12 años, 11 meses
Puntos: 4
Drag and drop y botón invisible no me sale.

Quiero conseguir clicar en un objeto con drag and drop y que me lleve a otra página.Parece sencillo pero no hay manera que me salga.

Lo que hago es en un clip de película poner el código para que se arrastre. Luego le meto un botón invisible y el código para que enlace a otra web pero no hay manera.
Lo he probado montones de veces y o me sale el drag and drop o el botón pero las dos a la vez nunca. Y no encuentro ningún tutorial que explique esto en concreto.
  #2 (permalink)  
Antiguo 21/05/2012, 01:04
 
Fecha de Ingreso: septiembre-2010
Ubicación: Reino Independiente Suizo_Andaluz (RISA)
Mensajes: 221
Antigüedad: 13 años, 7 meses
Puntos: 24
Respuesta: Drag and drop y botón invisible no me sale.

buenas hermano
si subes el .fla o el codigo ke estas utilizando seria mas facil ayudarte
venga, un saludo
__________________
kolectivo grafico deNA
www.kgdena.com
  #3 (permalink)  
Antiguo 21/05/2012, 02:39
 
Fecha de Ingreso: mayo-2011
Mensajes: 335
Antigüedad: 12 años, 11 meses
Puntos: 4
Respuesta: Drag and drop y botón invisible no me sale.

El código te lo pongo abajo, lo que me sale es lograr arrastrar y que funcione el link pero lo que quiero es que salga natural como en esta web:
http://www.flashmo.com/preview/flash...umbnail_spread

Lo que me sale a mí es muy cutre.No quiero hacer una web como esa, sólo quiero aprender el efecto. El código es este de abajo...Gracias.Si me puede ayudar alguien lo agradezco muchísimo porque es algo que quiero desde hace tiempo y mi profesor no sabe.



stop();
/* Arrastrar y colocar
Permite que la instancia del símbolo especificado se pueda mover con una acción de arrastrar y colocar.
*/

movieClip_1.addEventListener(MouseEvent.MOUSE_DOWN , fl_ClickToDrag);

function fl_ClickToDrag(event:MouseEvent):void
{
movieClip_1.startDrag();
}

stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);

function fl_ReleaseToDrop(event:MouseEvent):void
{
movieClip_1.stopDrag();
}

/* Hacer clic para ir a página Web
Al hacer clic en la instancia del símbolo especificado, la dirección URL se carga en una nueva ventana del navegador.


*/

movieClip_1.addEventListener(MouseEvent.CLICK, fl_ClickToGoToWebPage);

function fl_ClickToGoToWebPage(event:MouseEvent):void
{
navigateToURL(new URLRequest("http://www.google.es"), "_parent");
}
  #4 (permalink)  
Antiguo 21/05/2012, 09:30
 
Fecha de Ingreso: septiembre-2010
Ubicación: Reino Independiente Suizo_Andaluz (RISA)
Mensajes: 221
Antigüedad: 13 años, 7 meses
Puntos: 24
Respuesta: Drag and drop y botón invisible no me sale.

lo siento hermano pero no controlo AS3, li miko es AS2
espero ke algun otro compañero te pueda ayudar
venga, un saludo
__________________
kolectivo grafico deNA
www.kgdena.com
  #5 (permalink)  
Antiguo 21/05/2012, 10:23
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 9 meses
Puntos: 406
Respuesta: Drag and drop y botón invisible no me sale.

Hola Tonimn:
Escribe así tu código:
Código actionscript:
Ver original
  1. stop();
  2. movieClip_1.buttonMode=true;
  3. movieClip_1.addEventListener(MouseEvent.MOUSE_DOWN , fl_ClickToDrag);
  4.  
  5. function fl_ClickToDrag(event:MouseEvent):void {
  6.     movieClip_1.startDrag();
  7. }
  8.  
  9. stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
  10.  
  11. function fl_ReleaseToDrop(event:MouseEvent):void {
  12.     movieClip_1.stopDrag();
  13.     navigateToURL(new URLRequest("http://www.google.es"), "_parent");
  14. }
De ese modo al soltar el mouse la página se cargará.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #6 (permalink)  
Antiguo 21/05/2012, 11:26
 
Fecha de Ingreso: mayo-2011
Mensajes: 335
Antigüedad: 12 años, 11 meses
Puntos: 4
Respuesta: Drag and drop y botón invisible no me sale.

No me funciona. Muchísimas gracias Bandit, muy agradecido pero con el código que me has puesto sigo igual que al principio.
Lo puedo arrastrar pero a la que suelto el mouse me lleva al link y lo que quiero es que si lo quiero arrastar arrastrarlo pero si lo suelto que no me lleve a ningún link y que me lleve al link sólo si doy un click.
Como aquí... http://www.flashmo.com/preview/flash...umbnail_spread
  #7 (permalink)  
Antiguo 21/05/2012, 21:21
 
Fecha de Ingreso: noviembre-2011
Mensajes: 20
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Drag and drop y botón invisible no me sale.

Hola, puedes hacer esto: Al momento en que se pulsa el click del mouse (MOUSE_DOWN) capturas las coordenadas del objeto (x e y) y las guardas en variables. Hecho eso luego en la función que suelta el objeto (MOUSE_UP) compruebas con un IF si las coordenadas son iguales a las del origen, si la condición se cumple, lleva al link, y si no, simplemente el objeto se suelta.

Por ejemplo:

Código:
import flash.events.MouseEvent;

objeto.addEventListener(MouseEvent.MOUSE_DOWN,drag);
objeto.addEventListener(MouseEvent.MOUSE_UP,drop);

var origenX:Number;
var origenY:Number;

function drag(e:MouseEvent):void
{
	e.currentTarget.startDrag();
	origenX=e.currentTarget.x;
	origenY=e.currentTarget.y;
}

function drop(e:MouseEvent):void
{
	e.currentTarget.stopDrag();
	if (e.currentTarget.x==origenX &&  e.currentTarget.y==origenY)
	{
		navigateToURL(new URLRequest("http://www.google.es"), "_parent");
	}
}
Por si acaso e.currentTarget equivale al MovieClip pulsado, es bueno por si quieres poner varios MC, así solo pones los Listener para c/u.

Y por último si quieres poner varios MC y quieres que c/u lleve a un link distinto, sería cosa de hacer la condición dentro del if de las coordenadas:

Código:
if(e.currentTarget==objeto1){navigateToURL(new URLRequest("http://www.google.es"), "_parent");}
if(e.currentTarget==objeto2){navigateToURL(new URLRequest("http://www.forosdelweb.com"), "_parent");}

Última edición por dankodigo; 21/05/2012 a las 22:37
  #8 (permalink)  
Antiguo 21/05/2012, 23:19
 
Fecha de Ingreso: mayo-2011
Mensajes: 335
Antigüedad: 12 años, 11 meses
Puntos: 4
Respuesta: Drag and drop y botón invisible no me sale.

Entonces lo que he de hacer es poner las coordenadas desiguales porque lo que quiero es que no me lleva al link cuando arrastro y suelto sino sólo al clicar ¿no?
Lo malo es que no sé hacer eso pero muchas gracias.
  #9 (permalink)  
Antiguo 22/05/2012, 01:32
 
Fecha de Ingreso: noviembre-2011
Mensajes: 20
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Drag and drop y botón invisible no me sale.

Cita:
Iniciado por Tonimn Ver Mensaje
Entonces lo que he de hacer es poner las coordenadas desiguales porque lo que quiero es que no me lleva al link cuando arrastro y suelto sino sólo al clicar ¿no?
Lo malo es que no sé hacer eso pero muchas gracias.
Porque desiguales? El código que puse hace eso que quieres; si las coordenadas son iguales a las de origen, significa que el objeto no se arrastró, lo que equivale a hacer un click, entonces lleva al link. Si las coordenadas cambian, significa que sí se arrastro, entonces NO lleva al link, solo se arrastra. Prueba el código que puse; haz un MC con nombre de instancia objeto y lo pruebas ;) o dime si lo que quieres hacer es otra cosa.
  #10 (permalink)  
Antiguo 22/05/2012, 09:06
 
Fecha de Ingreso: mayo-2011
Mensajes: 335
Antigüedad: 12 años, 11 meses
Puntos: 4
Respuesta: Drag and drop y botón invisible no me sale.

Muchísimas gracias, he avanzado algo.

Los pasos que hago y hay algo mal:

Pongo movieclip en fotograma1, nombre de instancia Objeto. Luego en acciones pego el código.
Con esto ya funciona perfectamente lo que pido pero en un solo movieclip. No entiendo cómo hacerlo con más.
Entiendo esto... con dos movieclips (objeto1 y objeto2)

import flash.events.MouseEvent;

objeto.addEventListener(MouseEvent.MOUSE_DOWN,drag );
objeto.addEventListener(MouseEvent.MOUSE_UP,drop);

var origenX:Number;
var origenY:Number;

function drag(e:MouseEvent):void
{
e.currentTarget.startDrag();
origenX=e.currentTarget.x;
origenY=e.currentTarget.y;
}

function drop(e:MouseEvent):void
{
e.currentTarget.stopDrag();
if(e.currentTarget==objeto1){navigateToURL(new URLRequest("http://www.google.es"), "_parent");}
if(e.currentTarget==objeto2){navigateToURL(new URLRequest("http://www.forosdelweb.com"), "_parent");}
}
}
  #11 (permalink)  
Antiguo 22/05/2012, 10:18
 
Fecha de Ingreso: noviembre-2011
Mensajes: 20
Antigüedad: 12 años, 5 meses
Puntos: 0
Exclamación Respuesta: Drag and drop y botón invisible no me sale.

Para hacerlo con mas MC el código es el mismo, solo agrega los Listener para los demás, con su respectiva función drag y drop:

Código:
objeto1.addEventListener(MouseEvent.MOUSE_DOWN,drag);
objeto1.addEventListener(MouseEvent.MOUSE_UP,drop);

objeto2.addEventListener(MouseEvent.MOUSE_DOWN,drag);
objeto2.addEventListener(MouseEvent.MOUSE_UP,drop);
Y la propia función detecta el MC pulsado.

Cita:
Iniciado por Tonimn
Código:
import flash.events.MouseEvent;

objeto.addEventListener(MouseEvent.MOUSE_DOWN,drag );
objeto.addEventListener(MouseEvent.MOUSE_UP,drop);

var origenX:Number;
var origenY:Number;

function drag(e:MouseEvent):void
{
e.currentTarget.startDrag();
origenX=e.currentTarget.x;
origenY=e.currentTarget.y;
}

function drop(e:MouseEvent):void
{
e.currentTarget.stopDrag();
if(e.currentTarget==objeto1){navigateToURL(new URLRequest("http://www.google.es"), "_parent");}
if(e.currentTarget==objeto2){navigateToURL(new URLRequest("http://www.forosdelweb.com"), "_parent");}
}
Ojo que ahí los Listener se los estás poniendo a "objeto" no a "objeto1" decide como se llamará la instancia . Y listo, solo te falta el if de las coordenadas en la función drop.
  #12 (permalink)  
Antiguo 22/05/2012, 13:34
 
Fecha de Ingreso: mayo-2011
Mensajes: 335
Antigüedad: 12 años, 11 meses
Puntos: 4
Respuesta: Drag and drop y botón invisible no me sale.

Ahora tengo 3 movieclips y con los 3 consigo el drag and drop pero a la que los suelto me llevan al link.
Este código ¿qué está mal? muchísimas gracias por tan buenos consejos

import flash.events.MouseEvent;

objeto.addEventListener(MouseEvent.MOUSE_DOWN,drag );
objeto.addEventListener(MouseEvent.MOUSE_UP,drop);
objeto1.addEventListener(MouseEvent.MOUSE_DOWN,dra g);
objeto1.addEventListener(MouseEvent.MOUSE_UP,drop) ;
objeto2.addEventListener(MouseEvent.MOUSE_DOWN,dra g);
objeto2.addEventListener(MouseEvent.MOUSE_UP,drop) ;

var origenX:Number;
var origenY:Number;

function drag(e:MouseEvent):void
{
e.currentTarget.startDrag();
origenX=e.currentTarget.x;
origenY=e.currentTarget.y;
}

function drop(e:MouseEvent):void
{
e.currentTarget.stopDrag();
if(e.currentTarget==objeto){navigateToURL(new URLRequest("http://www.google.es"), "_parent");}
if(e.currentTarget==objeto1){navigateToURL(new URLRequest("http://www.google.es"), "_parent");}
if(e.currentTarget==objeto2){navigateToURL(new URLRequest("http://www.forosdelweb.com"), "_parent");}
}
  #13 (permalink)  
Antiguo 22/05/2012, 14:19
 
Fecha de Ingreso: noviembre-2011
Mensajes: 20
Antigüedad: 12 años, 5 meses
Puntos: 0
Exclamación Respuesta: Drag and drop y botón invisible no me sale.

Te lleva al link porque, como te dije más arriba, te falta el if de las coordenadas en la función drop (que es el que comprueba si el objeto se movió o "se hizo un click")

Borra todo lo que tienes en la función drop, y pega esto tal cual:

Código:
	e.currentTarget.stopDrag();
	if (e.currentTarget.x==origenX &&  e.currentTarget.y==origenY)
	{
		if(e.currentTarget==objeto){navigateToURL(new URLRequest("http://www.google.es"), "_parent");}
		if(e.currentTarget==objeto1){navigateToURL(new URLRequest("http://www.forosdelweb.com"), "_parent");}
		if(e.currentTarget==objeto2){navigateToURL(new URLRequest("http://images.google.es"), "_parent");}
	}
Y eso es todo. El código final sería:

Código:
import flash.events.MouseEvent;

objeto.addEventListener(MouseEvent.MOUSE_DOWN,drag);
objeto.addEventListener(MouseEvent.MOUSE_UP,drop);
objeto1.addEventListener(MouseEvent.MOUSE_DOWN,drag);
objeto1.addEventListener(MouseEvent.MOUSE_UP,drop);
objeto2.addEventListener(MouseEvent.MOUSE_DOWN,drag);
objeto2.addEventListener(MouseEvent.MOUSE_UP,drop);


var origenX:Number;
var origenY:Number;

function drag(e:MouseEvent):void
{
	e.currentTarget.startDrag();
	origenX=e.currentTarget.x;
	origenY=e.currentTarget.y;
}

function drop(e:MouseEvent):void
{
	e.currentTarget.stopDrag();
	if (e.currentTarget.x==origenX &&  e.currentTarget.y==origenY)
	{
		if(e.currentTarget==objeto){navigateToURL(new URLRequest("http://www.google.es"), "_parent");}
		if(e.currentTarget==objeto1){navigateToURL(new URLRequest("http://www.forosdelweb.com"), "_parent");}
		if(e.currentTarget==objeto2){navigateToURL(new URLRequest("http://images.google.es"), "_parent");}
	}
}
Que funcionaría para 3 MovieClips en el escenario: objeto, objeto1 y objeto2.

Si quisieras poner otro más, agregas los listener:

Código:
objeto3.addEventListener(MouseEvent.MOUSE_DOWN,drag);
objeto3.addEventListener(MouseEvent.MOUSE_UP,drop);
Y el if con el link seguido de los demás:

Código:
if(e.currentTarget==objeto3){navigateToURL(new URLRequest("OTRO LINK"),"_parent");}

Y así con todos los MC que quieras...
  #14 (permalink)  
Antiguo 23/05/2012, 02:55
 
Fecha de Ingreso: mayo-2011
Mensajes: 335
Antigüedad: 12 años, 11 meses
Puntos: 4
Respuesta: Drag and drop y botón invisible no me sale.

Ese nuevo código no funciona, sí drag and drop pero no me lleva a ningún link.
Insisto en darte miles de gracias.
  #15 (permalink)  
Antiguo 23/05/2012, 16:51
 
Fecha de Ingreso: noviembre-2011
Mensajes: 20
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Drag and drop y botón invisible no me sale.

Cita:
Iniciado por Tonimn Ver Mensaje
Ese nuevo código no funciona, sí drag and drop pero no me lleva a ningún link.
Insisto en darte miles de gracias.
De nada, pero entonces tienes otro problema, porque el código si funciona, lo probé antes de postearlo :) .

Te subo el fla con exactamente el mismo código y 3 objetos en el escenario para que lo revises; si aún no te funciona, insisto que el problema es otro que desconozco.

Funciona así: Si arrastras un objeto, solo se mueve sin llevar a ningún link, y si le das un click al objeto, te envía a su respectivo link.

http://www.mediafire.com/?rglg2g25y7jkfbg
  #16 (permalink)  
Antiguo 23/05/2012, 16:59
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 9 meses
Puntos: 406
Respuesta: Drag and drop y botón invisible no me sale.

Hola dankodigo:
Me parece que en la condicional que le diste como ejemplo: if(e.currentTarget==objeto3){navigateToURL(new URLRequest("OTRO LINK"),"_parent");}
Tonimn está pegando tal como está, sin poner la dirección de la página, en vez de la palabra OTRO LINK y esa es la razón de no le funcione.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #17 (permalink)  
Antiguo 23/05/2012, 17:03
 
Fecha de Ingreso: noviembre-2011
Mensajes: 20
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Drag and drop y botón invisible no me sale.

Cita:
Iniciado por Bandit Ver Mensaje
Hola dankodigo:
Me parece que en la condicional que le diste como ejemplo: if(e.currentTarget==objeto3){navigateToURL(new URLRequest("OTRO LINK"),"_parent");}
Tonimn está pegando tal como está, sin poner la dirección de la página, en vez de la palabra OTRO LINK y esa es la razón de no le funcione.
jeje si, es probable
  #18 (permalink)  
Antiguo 23/05/2012, 23:52
 
Fecha de Ingreso: mayo-2011
Mensajes: 335
Antigüedad: 12 años, 11 meses
Puntos: 4
Respuesta: Drag and drop y botón invisible no me sale.

El .swf que me has mandado funciona de maravilla pero el .fla no lo puedo abrir, me sale un mensaje que dice que está realizado en Flash Profesional CS5.5 y que no se puede abrir.Pero yo tengo Flash CS5 ¿tiene que ver que tenga versión Mac?¿tendrá que ver con que no me funcione? no creo.

Lo que hago es poner 3 clips de película diferentes con nombres de instancia objeto-objeto1-objeto2 y les pongo el código siguiente:



import flash.events.MouseEvent;

objeto.addEventListener(MouseEvent.MOUSE_DOWN,drag );
objeto.addEventListener(MouseEvent.MOUSE_UP,drop);
objeto1.addEventListener(MouseEvent.MOUSE_DOWN,dra g);
objeto1.addEventListener(MouseEvent.MOUSE_UP,drop) ;
objeto2.addEventListener(MouseEvent.MOUSE_DOWN,dra g);
objeto2.addEventListener(MouseEvent.MOUSE_UP,drop) ;


var origenX:Number;
var origenY:Number;

function drag(e:MouseEvent):void
{
e.currentTarget.startDrag();
origenX=e.currentTarget.x;
origenY=e.currentTarget.y;
}

function drop(e:MouseEvent):void
{
e.currentTarget.stopDrag();
if (e.currentTarget.x==origenX && e.currentTarget.y==origenY)
{
if(e.currentTarget==objeto){navigateToURL(new URLRequest("http://www.google.es"), "_parent");}
if(e.currentTarget==objeto1){navigateToURL(new URLRequest("http://www.forosdelweb.com"), "_parent");}
if(e.currentTarget==objeto2){navigateToURL(new URLRequest("http://images.google.es"), "_parent");}
}
}
  #19 (permalink)  
Antiguo 24/05/2012, 00:19
 
Fecha de Ingreso: noviembre-2011
Mensajes: 20
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Drag and drop y botón invisible no me sale.

Probé el código que pusiste y el ÚNICO error que tiene es en los listener del objeto1 y objeto2: hay un espacio en los nombres de la función, dice "dra g" en lugar de "drag"...eso es todo. Flash debería alertarte de ese error de sintaxis al probar la película (Ctrl+Enter) e indicarte la línea que contiene el error.

De todas maneras te subo el fla compatible con flash CS5, espero que te funcione, salu2.

http://www.mediafire.com/?o8zinp5cm0jd13i

Última edición por dankodigo; 24/05/2012 a las 01:30
  #20 (permalink)  
Antiguo 24/05/2012, 08:17
 
Fecha de Ingreso: mayo-2011
Mensajes: 335
Antigüedad: 12 años, 11 meses
Puntos: 4
Respuesta: Drag and drop y botón invisible no me sale.

Muchas gracias.Era por eso, menudo fallo.
Ya podrías estar en lugar de mi profesor.

Etiquetas: drag, drop, invisible, clips
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 20:12.