Comunidad de diseño web y desarrollo en internet online

Problema con attachmovie y ponerle coordenadas

Citar            
MensajeEscrito el 20 Mar 2010 10:43 pm
muy wenas a todos...

Mi idea es que necesito insertar varios movieclips y a cada uno llamarle de una manera...hasta aqui todo bien, el problema me surge cuando quiero hacer referencia a ellos, por ejemplo para ponerle las coordenadas...os dejo el codigo que me da problemas:

Código ActionScript :

this.attachMovie("celda","celda"+i,1);
celda+i._x = 0;
celda+i._y = 0;


El error exacto es: "el margen izquierdo del operador de asignacion debe ser una propiedad o variable.

la cosa es que se que me falla por ponerle la i...pero de que otra manera puedo hacerlo?..

Muchas gracias por cualquier tipo de ayuda!!

Por fg89o

10 de clabLevel



 

msie7
Citar            
MensajeEscrito el 20 Mar 2010 11:47 pm
esto ya lo solucione..pero ahora he complicado un poco mas el codigo y no me funciona...lo curioso es que lo de arriba que ahora esta puesto como comentario si funciona (quitandole las //)...he puesto un campo de texto de prueba para que me devolviese el valor final de "i" y me de 4 por lo que el for lo hace bien...pero porque no me crea los movie clip y me los coloca donde le digo??

adjunto codigo:

Código ActionScript :

//b = 1;
//this.attachMovie("celda","celda"+b,1);
//this["celda" + b]._x = 769;
//this["celda" + b]._y = 774;
//this["celda" + b].txtasunto.text = "prueba";

var entrada_lv:LoadVars = new LoadVars();
var entradar_lv:LoadVars = new LoadVars();
entrada_lv.usuario = this._root.txtuser.text;
entradar_lv.onLoad = function(){
   var titulo:Array = this.asunto.split(";");
   for (i=1; i<titulo.length; i++) {
      this.attachMovie("celda","celda"+i,1);
      this["celda" + i]._x = 769;
      this["celda" + i].txtasunto.text = titulo[i];
      this["celda" + i]._y = 724 + 50 * i;
   }
}

entrada_lv.sendAndLoad("bandejaentrada.php",entradar_lv,"POST");

Por fg89o

10 de clabLevel



 

msie7
Citar            
MensajeEscrito el 21 Mar 2010 12:27 am
Sigo poniendo mas informacion sobre el tema....

He probado a sacar esta parte del codigo y ponerla para que se ejecute nada mas iniciarse la pelicula y funciona a la perfeccion, lo unico que he cambiado es que en vez de poner i<titulo.length lo he cambiado por i<4...

codigo con problema:

Código ActionScript :

for (i=1; i<titulo.length; i++) {       
this.attachMovie("celda","celda"+i,1);       
this["celda" + i]._x = 769;       
this["celda" + i].txtasunto.text = titulo[i];       
this["celda" + i]._y = 724 + 50 * i;    
} 


codigo que funciona:

Código ActionScript :

for (i=1; i<4; i++) {       
this.attachMovie("celda","celda"+i,1);       
this["celda" + i]._x = 769;       
this["celda" + i].txtasunto.text = titulo[i];       
this["celda" + i]._y = 724 + 50 * i;    
} 


he comprobado que valor me devuelve la variable titulo.length y es 4..por lo que eso no puede ser el problema...

Necesito ayuda que no se que mas probar...Gracias!!

Por fg89o

10 de clabLevel



 

msie7
Citar            
MensajeEscrito el 21 Mar 2010 12:34 pm
Bueno pus ya encontre la solucion aunque no se porque asi si funciona...lo unico que he hecho a sido sacar el for fuera del loadVars y llamarlo con una funcion..si alguien me pudiese aclarar porque asi si funciona y de la otra manera no se lo agradeceria...

codigo funcionando 100%

Código ActionScript :

var titulo:Array = new Array();
var emisor:Array = new Array();
var fecha:Array = new Array();
var idmen:Array = new Array();

var entrada_lv:LoadVars = new LoadVars();
var entradar_lv:LoadVars = new LoadVars();
entrada_lv.usuario = this._root.txtuser.text;
entradar_lv.onLoad = function(){
   titulo = this.asunto.split(";");
   emisor = this.emisor.split(";");
   fecha = this.fecha.split(";");
   idmen = this.idmensaje.split(";");
   cargarceldas();
}
entrada_lv.sendAndLoad("bandejaentrada.php",entradar_lv,"POST");
function cargarceldas(){
   for (i=1; i<titulo.length; i++) {
      this.attachMovie("celda","celda"+i,i);
      this["celda" + i]._x = 0;
      this["celda" + i].txtasunto.text = titulo[i];
      this["celda" + i].txtemisor.text = emisor[i];
      this["celda" + i].txtfecha.text = fecha[i];
      this["celda" + i].txtid.text = idmen[i];
      this["celda" + i]._y = (50 * i)-50;
   }
   this._parent.pagactual.text = 1;
   this._parent.pagtotal.text = Math.round((i-1)/4+0.49);   
}

Por fg89o

10 de clabLevel



 

msie7

 

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