Comunidad de diseño web y desarrollo en internet online

Ayuda con hitTest

Citar            
MensajeEscrito el 21 Abr 2005 03:05 pm
Buenas tardes señores... soy nuevo por aqui y espero tenerles buenos retos de vez en cuando.. tengo un problema con un pequeño juego estilo "puzzle" que quiero crear partiendo de un archivo que consegui... ya lo he modificado lo suficiente como para no querer volver a empezar de cero, por lo que quisiera seguir con ese codigo hasta terminarlo.. el problema es el siguiente:

cuando clickeas sobre el cuadrado negro te aparecen piezas en orden aleatorio en un espacio predeterminado, en este momento cada pieza se puede arrastrar y detecta la colison con el cuadrado rojo (fijo)... lo que necesito es que cada pieza agregada detecte a las otras antes agregadas cuado hagan hitTest unas sobre otras de manera que al soltarla (stopDrag) si estan sobrepuestas se separen automaticamente o vuelvan a su posicion original... de esta manera evito que se monten unas sobre otras... espero me haya explicado bien... de antemano muchas gracias

pueden bajar el .fla aqui:

http://www.aranye.com.ve/fau/archivo.zip

Por lino

5 de clabLevel



 

safari
Citar            
MensajeEscrito el 21 Abr 2005 04:01 pm
hola :D
quizas este codigo te de una idea de como hacer

Código :

on (press) {
   startDrag(this, true);
}
on (release) {
   stopDrag();
   if (this.hitTest(_root.clip2)) {
      this._x = inicioX;
      this._y = inicioY;
      this._alpha = 0;
   } 
}

Por TheSithLord

20 de clabLevel



Genero:Masculino  

The Dark Side of the Force, Caracas

firefox
Citar            
MensajeEscrito el 22 Abr 2005 03:19 pm
El problema es que ese codigo me sirve para obtener hitTest con un mc fijo, pero no funciona para los mc dinamicos.. no se si me explico... en el .fla hay un mc rojo fijo que si me permite obtener el hitTest pero los que creo dinamicamente cada vez que hago click en el negro no me lo permiten.. o mejor dicho.. no hayo la manera de hacerlo... si puedes bajar el .fla seria de mucha ayuda para que me entiendas... gracias por tu interes.. saludos

Por lino

5 de clabLevel



 

safari
Citar            
MensajeEscrito el 22 Abr 2005 04:25 pm
:roll: ok
si añades un bucle lo resulves

Código :

on (release) {
   stopDrag();
   if (this.hitTest(_root.l_mc.cuadrado)) {
      this._x = inicioX;
      this._y = inicioY;
      this._alpha = 0;
   }
   for (var a in l_mc) {
      if (this.hitTest(l_mc[a])) {
         this._x = inicioX;
         this._y = inicioY;
         this._alpha = 0;
      }
   }
}


suerte :D

Por TheSithLord

20 de clabLevel



Genero:Masculino  

The Dark Side of the Force, Caracas

firefox
Citar            
MensajeEscrito el 22 Abr 2005 05:24 pm
Hola de nuevo... tu lo probastes? creo que la cosa va por ahi pero me parace que esta haciendo hitTest sobre el mismo (suena como raro).. pero cuando hace el bucle me parece que se lee a el mismo porque aun sin haber otro mc en la escena este se desaparece o se regresa a su posicion (dependiendo de la opcion que le de)... sin hacer hitTest con ningun mc... con el mc fijo funciona perfectamente...

Por lino

5 de clabLevel



 

safari
Citar            
MensajeEscrito el 22 Abr 2005 05:47 pm
:? tienes razon... :crap:

pero si lo pones asi ya no vera si choca con el mismo

Código :

   for (var a in l_mc) {
      if (this.hitTest(l_mc[a]) && this!=l_mc[a]) {
         this._x = inicioX;
         this._y = inicioY;
         this._alpha = 0;
      }
   }


y si ya lo probe :D

Por TheSithLord

20 de clabLevel



Genero:Masculino  

The Dark Side of the Force, Caracas

firefox
Citar            
MensajeEscrito el 22 Abr 2005 07:35 pm
:shock: Que va!! no logro hacer que funcione.. me permites enviarte el archivo a tu mail para que lo revises, ya que esta mucho mas adelantado que el que esta montado el el servidor... puede ser que tenga un error en otra parte y no logre verlo.. de antemano muchas gracias por tu ayuda.. saludos

Por lino

5 de clabLevel



 

safari
Citar            
MensajeEscrito el 22 Abr 2005 07:37 pm

Por lino

5 de clabLevel



 

safari
Citar            
MensajeEscrito el 22 Abr 2005 07:57 pm
:shock: :shock: :shock:
este es el codigo que tienes que reemplazar y que se encuentra
en el primer fotograma:

Código :

   clip_mc.onRelease = function() {
      this.stopDrag();
      this.borde_mc._visible = true;
      seleccion_mc = this;
   };

y lo reemplazas por este:

Código :

   clip_mc.onRelease = function() {
      this.stopDrag();
      this.borde_mc._visible = true;
      seleccion_mc = this;
      if (this.hitTest(_root.l_mc.cuadrado)) {
         /*aqui colocas lo que quieres que 
         haga cuando choque con el cuadro rojo
         ejemplo:*/
         this._x = 0;
         this._y = 0;
         this._alpha = 50;
      }
      for (var a in l_mc) {
         if (this.hitTest(l_mc[a]) && this != l_mc[a]) {
            /*aqui colocas lo que quieres que 
                haga cuando choque con otro cuadrito
                ejemplo:*/
            this._x = 10;
            this._y = 10;
            this._alpha = 20;
         }
      }
   };

nota que yo le puse una accion que quizas no sea la que tu desees

:wink:

PD:
de que parte de venezuela eres?

Por TheSithLord

20 de clabLevel



Genero:Masculino  

The Dark Side of the Force, Caracas

firefox
Citar            
MensajeEscrito el 22 Abr 2005 09:02 pm
y a ti te funciona?? a mi nooooooooo.. aaaaaaaahhh.. jajajajaj me estoy volviendo loco con esto...

PD. Caracas

Por lino

5 de clabLevel



 

safari
Citar            
MensajeEscrito el 22 Abr 2005 09:05 pm
se devuelve siempre.. asi no haga hitTest con ningun mc

Por lino

5 de clabLevel



 

safari
Citar            
MensajeEscrito el 25 Abr 2005 12:52 pm
nose que decirte :crap:
a mi me funciona bien 8)

dame tu correo y te lo mando :lol:

Por TheSithLord

20 de clabLevel



Genero:Masculino  

The Dark Side of the Force, Caracas

firefox
Citar            
MensajeEscrito el 25 Abr 2005 07:50 pm
Hola, disculpa que no te habia respondido, mi correo es [email protected] de verdad te lo agradezco... por cierto de donde eres tu?

saludos y gracias

Por lino

5 de clabLevel



 

safari
Citar            
MensajeEscrito el 25 Abr 2005 08:00 pm
ya te envie el archivo por email :D

y tambien soy de caracas :lol:

Por TheSithLord

20 de clabLevel



Genero:Masculino  

The Dark Side of the Force, Caracas

firefox
Citar            
MensajeEscrito el 26 Sep 2007 01:21 am
Hola, tengo exactamente el mismo problema con el "puzzle" y no se como resolverlo, cuando cheque este foro vi que es lo mismo que necesito, pero al tratar de descargar el archivo me encuentro con la sorpresa de que ya no esta!!!!

Necesito ayuda, para resolver este problemita con el AS, espero me puedan mandar de favor el archivo, me ayudarian muchisimo, Gracias!!!!

Por flyx

0 de clabLevel



Genero:Femenino  

firefox

 

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