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

Reconocer objeto?o algo asi...:D

Estas en el tema de Reconocer objeto?o algo asi...:D en el foro de Flash y Actionscript en Foros del Web. Hola, quiero hacer un laberinto. Ya hice que se mueva el tipito, lo que tengo que hacer es que donde haya una pared se choque, ...
  #1 (permalink)  
Antiguo 03/03/2005, 19:33
Avatar de ChapaGonzalo  
Fecha de Ingreso: agosto-2004
Mensajes: 197
Antigüedad: 13 años, 4 meses
Puntos: 2
Mensaje Reconocer objeto?o algo asi...:D

Hola, quiero hacer un laberinto. Ya hice que se mueva el tipito, lo que tengo que hacer es que donde haya una pared se choque, o sea no pueda pasar!

GRACIAS
  #2 (permalink)  
Antiguo 03/03/2005, 22:29
Avatar de plOtz  
Fecha de Ingreso: abril-2003
Ubicación: Chile
Mensajes: 60
Antigüedad: 14 años, 8 meses
Puntos: 0
ocupa el hit...

if (mi_mc.hitTest(pare_mc)) {
//que se devuelva :P
}

espero que te sirva de algo...
__________________
www.plotzer.com :-)
  #3 (permalink)  
Antiguo 03/03/2005, 23:27
Avatar de ChapaGonzalo  
Fecha de Ingreso: agosto-2004
Mensajes: 197
Antigüedad: 13 años, 4 meses
Puntos: 2
Emm.....un poco mas explicativo? GRACIAS!
  #4 (permalink)  
Antiguo 04/03/2005, 22:19
Avatar de ChapaGonzalo  
Fecha de Ingreso: agosto-2004
Mensajes: 197
Antigüedad: 13 años, 4 meses
Puntos: 2
PORFAVOR, diganme!!!!!
  #5 (permalink)  
Antiguo 05/03/2005, 00:12
 
Fecha de Ingreso: febrero-2005
Mensajes: 58
Antigüedad: 12 años, 9 meses
Puntos: 0
Bueno la cosa es relativamente sencilla...

Primero creas el laberinto con sus paredes... bien play .... y lo conviertes en un MC ("MovieClip" solo por si aca... ), luego como ya tenés echo el joven que recorre el laberinto, y supongo que también está echo ya el código para responder al teclado o al ratón para que se mueva horizontal y verticalmente, simplemente, le ponés al MC_Joven (se me ocurre así...), en el evento EnterFrame un código similar a este, (aunque creo que debes adecuarlo bastante bien dependiendo del código que recibe los eventos para moverlo, en el siguiente ejemplo le dí movimiento al MC_Joven a través de la posición del mouse si se encuentra encima de MC_Joven se mueve haciar arriba y así el resto)

onClipEvent(enterFrame)//Este código se le aplica a MC_Joven
{
//Para mover MC_Joven por la pantalla con el mouse
if(this._ymouse < 0)
_y-=2;
if(this._ymouse > 25)
_y+=2;
if(this._xmouse < 0)
_x-=2;
if(this._xmouse > 25)
_x+=2;

//Para detectar colisiones
JovenCoordenadas = this.getBounds(_root);//Toma coordenadas actuales en terminos de _root
if(_root.Laberinto.hitTest(JovenCoordenadas.xMin, _y, true))//Linea 1
_x+=2; // Linea 2
if(_root.Laberinto.hitTest(JovenCoordenadas.xMax, _y, true))
_x-=2;
if(_root.Laberinto.hitTest(_x, JovenCoordenadas.yMin, true))
_y+=2;
if(_root.Laberinto.hitTest(_x, JovenCoordenadas.yMax, true))
_y-=2;
}

Donde dice Linea 1 se explica así:
vamos a verificar si Laberinto golpea con Joven

JovenCoordenadas.xMax es el pixel en el eje x más alto de MC_Joven y _y es el centro de MC_Joven, el true es para que tenga en cuenta toda la forma de Laberinto y no solo el rectangulo de forma exterior, así que con esta opción verificamos si el pixel que se encuentra en el centro horizontal y en la parte superior de MC_Joven golpea en algún lugar con Laberinto, si es así disminuimos el valor del eje x de MC_Joven, para que quede en la posición antes de golpear con Laberinto...

Bueno no se si quedó muy claro, pero la versión Flash MX tiene un .fla que se llama MAZE.FLA que es justo lo que vos necesitas y el código es bastante similar aunque un poco más complejo, el MAZE.fla lo encuentras en archivos de programa/macromedia/flash mx/samples/...

Espero sirva de algo...
  #6 (permalink)  
Antiguo 05/03/2005, 15:02
Avatar de ChapaGonzalo  
Fecha de Ingreso: agosto-2004
Mensajes: 197
Antigüedad: 13 años, 4 meses
Puntos: 2
GRACIAS, el MAZE.FLA ya lo conosco, jajaja...pero no pude sacar mucho....GRACIAS!!!LO VOY A PROBAR!!!!
  #7 (permalink)  
Antiguo 06/03/2005, 22:51
Avatar de ChapaGonzalo  
Fecha de Ingreso: agosto-2004
Mensajes: 197
Antigüedad: 13 años, 4 meses
Puntos: 2
EHHHHHH!!!!!!!URRA!!!!!!!Adnda. Muchas gracias ByronNeo. Pero en algunas partes pasa atraves de la pared...por qué será?....emmmm......me pueden ayudar?...

GRACIAS!!!!!!!!!!!!!!!!!!!
  #8 (permalink)  
Antiguo 12/04/2005, 15:47
 
Fecha de Ingreso: febrero-2005
Mensajes: 58
Antigüedad: 12 años, 9 meses
Puntos: 0
ByronNeo Laberinto

Ja... bueno... supongo que ya no estás haciendo el juego del laberinto, hace rato no me conectaba al foro...

Bueno por si acaso, de vez en cuando atravieza las paredes es por que no son lo suficientemente gruesas, jajaja, se que suena gracioso pero así es, en el momento en que se incrementa la posición del clip, que hace las veces de maze, se incrementa en más puntos que el grosor de las paredes, es decir: si las paredes tienen un grosor de 2 puntos, y pones a tu maze a avanzar de atres puntos: algo así... Maze._x += 3;, seguro que en algún momento pasa de una coordenada a la otra sin tocar el muro, o al menos el pixel para el cual estamos teniendo en cuenta el hitTest... espero sirva de algo, aunque muy tarde ya...
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 10:46.