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

startDrag y stopDrag

Estas en el tema de startDrag y stopDrag en el foro de Flash y Actionscript en Foros del Web. Hola a todos. Tengo una pelicula en la cual hay que conseguir hacer un puzzle. En ella tengo una foto original de la pelicula un ...
  #1 (permalink)  
Antiguo 26/10/2004, 04:56
 
Fecha de Ingreso: marzo-2004
Ubicación: bilbo
Mensajes: 54
Antigüedad: 20 años
Puntos: 0
startDrag y stopDrag

Hola a todos. Tengo una pelicula en la cual hay que conseguir hacer un puzzle. En ella tengo una foto original de la pelicula un recuadro para hacer el puzzle y las piezas desordenadas. Quiero hacer dos cosas:
Si seleccionamos una pieza y no entramos dentro del recuadro que al soltar el raton se posicione donde estaba al principio.
si entramos dentro del recuadro como hago para que cuando este cerca de su posicion si suelto se pone ella directamente?? para que no se queden huecos entre las piezas y el puzzle quede pefecto. GRACIAS
  #2 (permalink)  
Antiguo 26/10/2004, 12:15
Avatar de alEjitus  
Fecha de Ingreso: octubre-2004
Ubicación: Ahora mismo en Barcelona España, auqnue soy de Buenos Aires, Argentina.
Mensajes: 56
Antigüedad: 19 años, 6 meses
Puntos: 0
Sonrisa

Hola Kerman,

eso aparte de usar start/stop drag, tambien deberas usar detectColision con la accion hitTest. Esto hace que si colicionan (se tocan) dos MCs, se produzca una accion X (como consecuencia).

Entonces, imaginate que tenes el puzzle desarmado, cada pieza es un MCX
y tenes por otra parte, la base del puzle, donde esta la ubicacion "destino de cada pieza". ok, es como el mismo puzle pero armado y sin dibujos, verdad?

pues este "puzle vacio" debe contener MCs en blanco, con los que cada pieza colisionaría. si la pieza "A" colisiona con el MC de la ubicacion"A" (entonces la pieza esta correctamente ubicada, por lo que cuando la sueltas, la pieza se coloca bien.

Si por el contrario, la pieza "A", se esta tocando con la ubicacion "B", la pieza esta siendo mal colocada, poe lo cual, la pieza volvera a una ubicacion X (la que tenia antes).

OK, esto es un poco liante de explicar en un post, pero seria mas o neos asi:

cada MC del puzle ubicacion deberá tener un nombre de instancia...

ubic1, ubic 2, ubic3.... (que serian las ubicaciones de destino de las piezas, o sea del puzle vacio que hablabamos).

lueog tendras las piezas reales del puzle, cada pieza un MC con nombre de instancia:

pieza1, pieza2, pieza3, etc...

a la pieza1 le pondriamos por ejemplo:

on (pess) {
this.startDrag();
}

on (release) {
this.stopDrag();
if(this.hitTest(_root.ubic1) == true){
this._x=50;
this_y=60;
} esle {
this._ x=150;
this._y=160;
}
}

Con esto que hacemos? esta claro el startDrag asi que vayamos a la otra parte. Primero decimos que cuando sueltes la pieza dejemos de arrastrarla, Y, aca hay una condicion, que haya colicion entre la pieza y su ubicacion (pieza 1 y ubicacion 1); si la condicion se cumple (true) entonces la colocamos en las coordenadas x/y tal (que serian las coordenadas correctas de la pieza en el puzle). Si por el contrario la condicion NO se cumple, mandamos a la pieza a ubicarse en x/y tal (150.... 160) que seria la ubicacion de ejemplo, que tenia originalmente FUERA del puzle.

Practicatelo que funciona ;)

Salutti!
__________________
alEjitus!® :-)
  #3 (permalink)  
Antiguo 27/10/2004, 00:22
 
Fecha de Ingreso: marzo-2004
Ubicación: bilbo
Mensajes: 54
Antigüedad: 20 años
Puntos: 0
ok, voy a probarlo Gracias
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 19:10.