Hola a todos. Espero que me podais hechar una mano.
Mi intención es crear un menú vertical que lea los nombres de los botones de un fichero XML. La lectura del fichero XML la hago sin problemas, pero... cuando el nombre del botón es largo, quisiera que el botón se hiciera más grande (más alto) y aquí tengo el problema.
Aquí está el código que pongo dentro del botón:
Código:
----------
var Diferencia_Interior = 0;
var Diferencia_Contorno2 = 5;
var Diferencia_Contorno1 = 6;
if (this.texto != "")
{ this.Etiqueta.autoSize = "center";
this.Interior._height = this.Etiqueta._height + Diferencia_Interior;
this.Contorno2._height = this.Interior._height + Diferencia_Contorno2;
this.Contorno1._height = this.Contorno2._height + Diferencia_Contorno1;
}
this.onRollOver = function()
{ this.Etiqueta.autoSize = "center";
this.Interior._height = this.Etiqueta._height + Diferencia_Interior;
this.Contorno2._height = this.Interior._height + Diferencia_Contorno2;
this.Contorno1._height = this.Contorno2._height + Diferencia_Contorno1;
}
this.onRollOut = function()
{ this.Etiqueta.autoSize = "center";
this.Interior._height = this.Etiqueta._height + Diferencia_Interior;
this.Contorno2._height = this.Interior._height + Diferencia_Contorno2;
this.Contorno1._height = this.Contorno2._height + Diferencia_Contorno1;
}
this.onMouseDown = function()
{ if (this.hitTest(_root._xmouse,_root._ymouse,true))
{ this.Etiqueta.autoSize = "center";
this.oIsDown = true;
this.Interior._height = this.Etiqueta._height + Diferencia_Interior;
this.Contorno2._height = this.Interior._height + Diferencia_Contorno2;
this.Contorno1._height = this.Contorno2._height + Diferencia_Contorno1;
}
}
this.onMouseUp = function()
{ if (this.oIsDown)
{ this.Etiqueta.autoSize = "center";
this.oIsDown = false;
this.Interior._height = this.Etiqueta._height + Diferencia_Interior;
this.Contorno2._height = this.Interior._height + Diferencia_Contorno2;
this.Contorno1._height = this.Contorno2._height + Diferencia_Contorno1;
}
}
stop();
--------
Y fuera lo que hago es:
Código:
-----------
_root ["Boton1_Ini"].duplicateMovieClip ("Boton" + Contador, Contador+1);
_root ["Boton" + Contador].texto = BaseDatos [Contador].titulo;
_root ["Boton" + Contador]._x = BaseDatos [Contador].x;
_root ["Boton" + Contador]._y = Distancia;
Distancia = Distancia + _root ["Boton" + Contador]._height;
--------
La variable Contador es la variable que usa un for para recorrer el vector que contiene los nombres de los botones.
La variable Diferencia es la variable que dice al botón su posición respecto al eje de la y.
Para esta variable me hace falta saber cuanto mide de alto el botón (después de haber insertado el texto en él).
Todo funciona perfectamente pero no soy capaz de leer _root ["Boton" + Contador]._height. Resulta que si hago un trace dentro del código del botón el _height del objeto es correcto, pero desde fuera me dice el valor que tenía antes de ser modificado. O sea, me dice la altura incial del objeto.
Como no soy capaz de poder leer la altura del botón se me solapan los demás botones.
Creo que me he liado un poco. Si es así decidlo he intentaré explicarme mejor, ok?
GRACIAS...