Comunidad de diseño web y desarrollo en internet online

Arrastrar, soltar y evento tras soltar

Citar            
MensajeEscrito el 27 Feb 2009 01:03 pm
Hola a todos.

La desesperación me arrastra al lado oscuro :evil: y antes que ellar a esos extremos recurro a vosotros.

Estoy intentando arrastar un objeto1 a otro objeto2 y que cuando el objeto1 esté sobre el objeto2 reproducca otra escena del flash.

Seguro que para algunos resulta muy facil, pero mis conocimientos de actionscript son muy limitados (tirando a nulos)

¿Alguien tiene me puede ayudar con un ejemplo?

Muchas gracias por vuestra ayuda.

Saludos.

Por josegovia

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Feb 2009 03:34 pm
puedes hacerlo con hitTest, con startDrag y stopDrag arrastras tu objeto

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 02 Mar 2009 01:42 pm
Muchas gracias Nacho por la pista.

He consegudio arrastralo y soltarlo, pero no em funciona lo de que haga una acción al detectar que está sobre otro moviclip.

Este es el código que estoy probando:

onClipEvent (load) {
onPress = function() {
this.startDrag();
trace("Estoy moviendo");
};

onRelease = function() {
this.stopDrag();
trace("lo suelto");
if (this.hitTest(triangulo)) {
trace("Estás en la señal");
}
};
}

Lo hace todo bien menos el if. Lo que intento con esta condición es que si el objeto que arrastro, hace el hitTest sobre el moviclip triangulo que me escriba Estás en la señal en la "salida" del programa.

No se si es porque no reconoce el sínbolo o que será. La cuestión es que si cambio el "this" por el nombre del simbolo que arrastro "munieco" no funciona nada. Es como si no encontrara los nombres de los simbolos o yo estuviera haciendo algo mal (me inclino por la segunda opción)

Muchas gracias a todos.

Un saludo,

Jose

Por josegovia

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Mar 2009 03:25 pm
lo tienes bien solo tienes que asignarle el target

Código ActionScript :

ex = cuadro._x;
ye = cuadro._y;
cuadro.onPress = function() {
   this.startDrag();
   trace("Estoy moviendo");
};
cuadro.onRelease = cuadro.onReleaseOutside=function () {
   this.stopDrag();
   trace("lo suelto");
   if (this.hitTest(triangulo)) {
      trace("Estás en la señal");
      cuadro._x = triangulo._x;
      cuadro._y = triangulo._y;
   } else {
      cuadro._x = ex;
      cuadro._y = ye;
   }
};

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 02 Mar 2009 03:30 pm
Muchas gracias.

Parece que si que funciona, además de los del target estaba poniendo mal los nombres de las instancias.

Un saludo,

Jose

Por josegovia

2 de clabLevel



 

firefox

 

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