Comunidad de diseño web y desarrollo en internet online

Help!!! problema con un for!!

Citar            
MensajeEscrito el 22 Dic 2006 01:31 pm
Hola!
Ya he queme mi cerebrio con esto, es un rompecabezas que tiene 24 piezas y quiero que cuando selecciono una pieza ésta se draguee, y, cuando la suelte, se deje de draguear y si ésta toca el lugar donde debe encajar, se situe donde pertenece (_x, _y) para esto tengo las 24 piezas ("pieza_")cada una un mc, y 24 lugares ("lugar_") tambien cada uno es un mc.
El problema es que lo resolvi con un "for" y éste hace que la pieza "lugar_" se sobre escriba ... no se si se puede hacer esto con un for o es mejor con array, si se puede con for como lo puedo resolver?????????????
aca esta el AS:

Código :

function armar() {
   for (var i = 0; i<=24; i++) {
      var pieza = _root["pieza_"+i];
      var lugar = _root["lugar_"+i];
      pieza.onPress = function() {
         this.startDrag();
      };
      pieza.onRelease = function() {
         this.stopDrag();
         //EL problema es que "lugar_" se sobrescribe, 
         //por lo tanto todas las piezas se van a quedar en la ultima pieza
         //COMO RESUELVO ESTO!!!!!!
         if (this.hitTest([_root+"lugar_"+i])) {
            //
            this._x = ["lugar_"+i]._x;
            this._y = ["lugar_"+i]._y;
//este trace funciona
            trace(this);
         } else {
            this._x = this._x;
            this._y = this._y;
         }
      };
   }
}

:lol: Gracias!!

Por GA

26 de clabLevel



Genero:Femenino  

msie
Citar            
MensajeEscrito el 22 Dic 2006 07:46 pm

Código :

...
var pieza = _root["pieza_"+i];
var lugar = _root["lugar_"+i];
pieza.lugar = i;
...
if (this.hitTest(_root["lugar_"+this.lugar])) {
...


Con eso deberia de funcionar

Saludos!

Por Cep

BOFH

1509 de clabLevel

9 tutoriales

1 ejemplo

Genero:Masculino   REC Bastard Operators From Hell

Web Developer

firefox
Citar            
MensajeEscrito el 24 Dic 2006 06:26 pm
Oye cep tronko, podrias dar una breve explicacion porfa? :cool:

Por oxk4r

56 de clabLevel



 

Orense·España

firefox
Citar            
MensajeEscrito el 26 Dic 2006 03:33 pm
Hola oxk4r,

El tema era que simplemente esta accediendo mal al array de objetos... Fijate en la primera linea como accedió:

GA escribió:

Código :

      var lugar = _root["lugar_"+i];



y en el segundo intento puso mal los corchetes

GA escribió:

Código :

      if (this.hitTest([_root+"lugar_"+i])) {



El por un lado arma un string con el nombre del objeto a acceder "lugar_"+i y despues lo accede al array de objetos de _root[] y queda asi _root["lugar_"+i]; quien tiene una referencia la objeto.

Espero que se entienda. :)

Por mutante_mc

15 de clabLevel



Genero:Masculino  

Buenos Aires, Argentina

firefox
Citar            
MensajeEscrito el 27 Dic 2006 11:25 pm
si, no se... ya prové de todas las maneras, co el _root dentro del corchete , fuera , sin, etc... lo que sucede cuando publico es que todas las piezas se pegan en el lugar de la pieza 24, eso es porque se sobre escribe el nombre de la pieza con : _root.["pieza"+i]... se entiende..? como hago para que esto no suceda...
Disculpas por la tardanza estuve unos dias en cama...

Por GA

26 de clabLevel



Genero:Femenino  

firefox

 

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