Comunidad de diseño web y desarrollo en internet online

tooltips, hitTest y juego de plataformas

Citar            
MensajeEscrito el 15 Jul 2009 07:06 am
Hola,
pues disculpen primero el titulo del post.. pero es que despues de 6 horas intentando solucionar esto es lo unico que tengo en la mente... estoy bloqueado ahora y ya es tardisimo asi que he optado por pedir a gritos su ayuda..

El problema es que estoy haciendo un mini juego de plataformas, y segui uno que otro tutorial por ahi de la red, modifiqué a fondo el codigo y todo perfecto...

hasta que en un punto llegué a la necesidad de mostrar una especie de tooltips para el jugador dependiendo sobre qué esté parado... ahora lo explico un poco mejor.

Tengo un MC que es un letrero tal cual, con un action asi...

Código ActionScript :

onClipEvent (enterFrame) {
   if (this.hitTest(_root.char)) {
      _root.msg = "psst psst! clickeame y te puedo mostrar algo de informacion [!]";
   } else {
      _root.msg = " ";
   }
}


y como verán tengo una caja de texto dinamico con una variable que se llama msg...
además de que mi personaje (lo muevo con las flechas del teclado y todo muy al estilo mario bros.) con un nombre de instancia: char...

pff.. espero todo claro hasta aqui... :lol:

ahora, el problema viene cuando quiero poner un segundo letrero por asi decirlo... es decir, poner otro MC repitiendo el codigo de arriba...

adivinaron... el texto del msg no cambia, por que?, porque el MC del letrero siempre esta mostrandose y lo ultimo que ejecuta es que msg=" " sin dejarle momento para ejecutar el script de un segundo letrero....

cabe mencionar que ya he intentado poner un break; pero no me funciona aun asi...

:shock: ayuda, como les dije, estoy bloqueado despues de buscar y leer montond e tutoriales de tooltips y como usar el hitTest.....

gracias!

Por nepheux

6 de clabLevel



 

----------------------

msie7
Citar            
MensajeEscrito el 15 Jul 2009 09:41 pm
Hola, eso sucede porque pusiste un else, cuado pones un else sera rigido al momento de que suceda otra cosa contraria a la condicional, asi que para solucionar puedes usar varias condicionales "else if" ademas, te mostrare como hacerlo desde el fotograma:

Código :

onEnterFrame = function(){
if(_root.char.hitTest(_root.mc_al_que_tenga_que_golpear)){
msg = "psst psst! clickeame soy el msg1!";
}else if(_root.char.hitTest(_root.segundo_mc_al_que_tenga_que_golpear)){
msg = "PSST! PSST!!!! soy el segundo msg!!";
}else{
msg = " ";
}
}


y eso es todo, simplemente tendrias que agregar mas "else if"s hasta que tengas todos los msgs y ya, espero te sirva, bye ^^

Por hormy1

Claber

124 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Jul 2009 10:31 pm
oooh!

Muchisisisimas gracias! me has resuelto del día!

Por nepheux

6 de clabLevel



 

----------------------

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.