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

Problema raro con hitTest

Estas en el tema de Problema raro con hitTest en el foro de Flash y Actionscript en Foros del Web. Hola! Estoy teniendo problemas con hitTest en un videojuego. Tengo 2 movieclips en "root". Uno contiene a mi personaje y el otro es un movieclip ...
  #1 (permalink)  
Antiguo 20/11/2006, 02:55
 
Fecha de Ingreso: noviembre-2006
Mensajes: 4
Antigüedad: 11 años
Puntos: 0
Problema raro con hitTest

Hola! Estoy teniendo problemas con hitTest en un videojuego.

Tengo 2 movieclips en "root". Uno contiene a mi personaje y el otro es un movieclip en el que he dibujado una forma geométrica para calcular la colisión con mi personaje. Es para usarla como "suelo", y hace formas curvas.

Todo funciona perfectamente. El problema aparece cuando meto toda este juego (el .swf) en un proyecto nuevo. Es decir, he construido un juego, y ahora he hecho un .swf que servirá de selector de juegos, y que en un clip vacío del escenario, carga el .swf correspondiente para poder jugar. Pues bien, una vez cargado el swf en tiempo de ejecución, todo funciona perfectamente EXCEPTO la colisión, que no la detecta.

He aquí el código que uso para la detección de colision (detecto entre el clip de pelicula que contiene "el suelo" y un punto, que coresponde a "los pies" de mi personaje llamado Johnny)

Código:
Johnny_feetX = Johnny._x-(Johnny._width/2);
Johnny_feetY = Johnny._y+(Johnny._height/2);
if (motion_path.hitTest(Johnny_feetX, Johnny_feetY, true)) {
	trace("Collision Detected");
	Johnny._y-=0.2;
}
else{
	Johnny._y+=0.2;
}

Alguien puede echarme un cable? Llevo varios dias con esto y no sé que ocurre!

Muchas gracias por adelantado.
  #2 (permalink)  
Antiguo 20/11/2006, 03:39
 
Fecha de Ingreso: septiembre-2006
Mensajes: 9
Antigüedad: 11 años, 2 meses
Puntos: 0
Nose si lo he entendido bien pero si al seleccionar un juego lo cargas dentro de un movieclip vacio posiblemente falle por que hay que asignarle una ruta nueva al clip Johnny que ya no estara en el root del archivo sino dentro del movieclip.
Es decir, si cargo el juego dentro de un clip vacio con el nombre de instancia, por ejemplo, "cargador", la ruta para detectar las colisione podria ser:

_root.cargador.Johnny_feetX = _root.cargador.Johnny._x-(_root.cargador.Johnny._width/2);
_root.cargador.Johnny_feetY = _root.cargador.Johnny._y+(_root.cargador.Johnny._h eight/2);
if (motion_path.hitTest(_root.cargador.Johnny_feetX, _root.cargador.Johnny_feetY, true)) {
trace("Collision Detected");
_root.cargador.Johnny._y-=0.2;
}
else{
_root.cargador.Johnny._y+=0.2;
}

No estoy seguro de que sea asi pero a mi me ha pasado cuando cargo peliculas dentro de clips vacios que haya que asignarle una ruta desde el origen de la pelicula hasta el clip que tiene que ejecutar la accion.

Espero que te sea de ayuda, un saludo

Última edición por novatisimo; 20/11/2006 a las 03:42 Razón: Por faltas de ortografía ,sorry
  #3 (permalink)  
Antiguo 20/11/2006, 04:14
 
Fecha de Ingreso: noviembre-2006
Mensajes: 4
Antigüedad: 11 años
Puntos: 0
Muchas gracias por responder.
El problema no es ese, pues eso que comentas ya lo he intentado y sin exito. el clip vacío que creo le llamo GAME, y como tu dices, he probado a acceder a mi "Johnny" y al "motion_path" de la siguiente forma: "_root.GAME.Johnny"....y nada, sigue sin funcionar :(

A alguien se le ocurre alguna solucion?

Gracias de nuevo
  #4 (permalink)  
Antiguo 20/11/2006, 07:50
 
Fecha de Ingreso: octubre-2005
Mensajes: 62
Antigüedad: 12 años, 2 meses
Puntos: 0
pues tiene toda la pinta de ser un problema de rutas

Saludos

www.cordobaguapa.com
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:35.