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

Ayuda con startDrag y hitTest

Estas en el tema de Ayuda con startDrag y hitTest en el foro de Flash y Actionscript en Foros del Web. Buenos días!! Necesitaba ayuda... Soy un iniciado como quien dice en Flash, cada día me doy cuenta de que se menos jeje La duda: Quiero ...
  #1 (permalink)  
Antiguo 23/04/2009, 04:06
 
Fecha de Ingreso: abril-2009
Mensajes: 2
Antigüedad: 14 años, 11 meses
Puntos: 0
Ayuda con startDrag y hitTest

Buenos días!!

Necesitaba ayuda...

Soy un iniciado como quien dice en Flash, cada día me doy cuenta de que se menos jeje

La duda:

Quiero hacer una especie de "tablero de juego" en el que se pueda mover una ficha con el ratón, de ahí el startDrag, y que se pueda mover por el tablero, solo que en el tablero quiero poner "habitaciones" en las que solo se pueda entrar por la puerta, y no por la pared, por eso necestio el hitTest (o similar) para hacer que la ficha no entre en la habitación atravesando la pared.

En mis intentos he conseguido que repela la ficha, pero sigue "saltandose" la pared igualmente, ya que el ratón no se repele, solo la "ficha".

Gracias!
  #2 (permalink)  
Antiguo 28/04/2009, 02:17
 
Fecha de Ingreso: abril-2009
Mensajes: 2
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Ayuda con startDrag y hitTest

Buenos días!

Veo que no hay ninguna respuesta... yo he ido avanzando un poco y aunque no he encontrado la solución al 100% si he encontrado algo que me hace un poco el apaño...

Pero ahora surgen más problemas.

El codigo que tiene un clip de película cuadrado que hace las veces de muro es el siguiente:

onClipEvent (enterFrame) {
with (_root.ficha) {
updateAfterEvent () ;

myBounce = 5;

// detect if edges of the player is colliding with the Maze Walls
if (walls.hitTest(getBounds(_root).xMax, _y, true)) {
_x -= myBounce; stopDrag();
}
if (walls.hitTest(getBounds(_root).xMin, _y, true)) {
_x += myBounce; stopDrag();
}
if (walls.hitTest(_x, getBounds(_root).yMax, true)) {
_y -= myBounce; stopDrag();
}
if (walls.hitTest(_x, getBounds(_root).yMin, true)) {
_y += myBounce; stopDrag();
}

}
}

El stopdrag hace que te de la sensación de que has chocado contra algo, así que no ses mueve el ratón... y el bounce sirve para que no se quede pegado al otro clip, lo que hace que sea imposible de volver a cogerla ficha.

El problema es que ahora si se mueve muy rapido el ratón, se salta el borde del mc, por lo que es como si vas muy rapido puedes atravesar el muro...

Gracias por adelantado por las respuestas.
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 02:43.