Es decir.. recuadros (movieclips) individuales, que ocupan el escenario (y un poco mas para que no se vea cuando saltan al otro lado) Dragables, es decir "Arrastrables" con el mouse.
Código :
//=====Variables principales=====// var cuadW:Number = 200; var cuadH:Number = 200; var mapa:MovieClip = _root.createEmptyMovieClip("mapa",1); var centro:MovieClip = _root.mapa.createEmptyMovieClip("centro",2); //===============================// //=====Medicion del escenario=====// //Stage.showMenu=false << DESCOMENTAR //Stage.align="TL"; << DESCOMENTAR //Stage.scaleMode="noScale"; << DESCOMENTAR var escW:Number = Stage.width; var escH:Number = Stage.height; var listener:Object = new Object(); listener.onResize = function(){ //escW = Stage.width; //escH = Stage.height; } Stage.addListener(listener); //===============================// //=====Creo los cuadraditos=====// crearCuadraditos = function(sW:Number,sH:Number,cW:Number,cH:Number){ if (int(sW / cW) == (sW/cW)){ cantX = int(sW / cW) + 2; }else{ cantX = int(sW / cW) + 3; } if (int(sH / cH) == (sH /cH)){ cantY = int(sH / cH) + 2; }else{ cantY = int(sH / cH) + 3; } cantTotal = cantX*cantY; var fila:Number = 0; var columna:Number = 0; for (var nro:Number = 1;nro<=cantTotal;nro++){ var partevar:MovieClip = _root.mapa.attachMovie("cuad","parte"+nro,nro+2); partevar._x = (-cW) + cW*columna; partevar._y = (-cH) + cH*fila; if (nro/cantX == int(nro/cantX)){ fila++; columna=0; }else{ columna++; } partevar.onMouseMove = movParte; } } //===============================// //=====Scroll del mapa=====// var clikeado:Boolean = false; movParte = function(){ if (clikeado){ if(!this.bandera){ this.bandera = true; this.antX = this._x; } this.disX = _root.mapa.centro._xmouse; this._x = this.antX + this.disX; if (this._x < -2*cuadW){ this.newX = escW; this._x = this.newX; this.antX = this.newX-this.disX; } }else{ this.bandera = false; } } _root.onMouseDown = function(){ _root.mapa.centro._x = _root.mapa._xmouse; _root.mapa.centro._y = _root.mapa._ymouse; clikeado = true; } _root.onMouseUp = function(){ clikeado = false; } //===============================// crearCuadraditos(escW,escH,cuadW,cuadH);
Ese es el codigo que hice hasta ahora.
Automaticamente el script mide el escenario y crea la cantidad de recuadros necesarios para ocupar el escenario (ordenarlos) y bordear con uno mas para tener espacio de hacer saltarlos hacia el otro lado a medida ke lo movemos.
Ahi solo funciona el movimiento horizontal (para facilitarme el debug) y solo hace saltar los cuadros cuando arrastramos el mapa hacia la izquierda.
El problema: Funciona cuando nos movemos lentamente. PERO cuando dezplasamos rapido la distancia entre _root.mapa.centro._xmouse aumento mientras el recuadro saltaba. por lo que los demas cuadros se siguieron dezplasando, por lo que se me corren.
Para probar mi codigo solo copien y peguen ese script en el fotograma 1 y cree un movieclip con un cuadrado de 200x200 pixels linkeado a actionscript como: "cuad"
Saludos, gracias y espero ke me ayuden
