ActionScript - varias acciones

 
Vista:

varias acciones

Publicado por pqow (1 intervención) el 25/02/2009 02:35:18
hola!
tengo un problemilla y no sé como resolverlo, a ver si vosotros sabeís que hacer:

tengo un objeto que al seleccionarlo con el raton lo arrastro hacia donde quiera.
Luego hay una zona donde me gustaría que al dejar de seleccionarlo y arrastralo se quedara en esa zona he hiciera una pequeña animación.
por otro lado, si el clip de video lo deselecciono fuera de la zona no quiero que haga esa animación.

he utilizado:
on(press) {
this.obejto.startDrag()
}
on(release) {
this.objeto.startDrag()

teniendo esto, ¿como puedo seguir?

muchas gracias a todos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Arrastrar objeto y animación al soltar dentro de una zona específica

Publicado por Alejandro (369 intervenciones) el 24/06/2023 00:39:07
Hola.

Para lograr el comportamiento que describes, puedes utilizar los eventos `onPress`, `onRelease` y `onReleaseOutside` junto con algunas condiciones. Aquí tienes una sugerencia de cómo podrías hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
on(press) {
    this.objeto.startDrag();
}
 
on(release) {
    if (this.hitTest(_root.zona)) {
        this.stopDrag();
        this.gotoAndPlay("animacion"); // Reemplaza "animacion" con el nombre de la etiqueta de animación que deseas reproducir
    } else {
        this.stopDrag();
    }
}
 
on(releaseOutside) {
    this.stopDrag();
}

En este código, hemos agregado el evento `onRelease` para verificar si el objeto se soltó dentro de la zona deseada (`_root.zona`). Si es así, se detiene el arrastre (`stopDrag()`) y se reproduce una animación específica utilizando el método `gotoAndPlay()`.

Si el objeto se suelta fuera de la zona o se suelta en otro lugar, se detiene el arrastre sin reproducir la animación adicional.

Asegúrate de reemplazar "zona" con el nombre correcto de la instancia o del movieclip que representa la zona deseada.

Recuerda que este código se debe colocar en la línea de tiempo del objeto que se arrastra.

Espero que esta solución te sea útil.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar