Foros del Web » Creando para Internet » Flash y Actionscript »

Botones con texto leido de un XML

Estas en el tema de Botones con texto leido de un XML en el foro de Flash y Actionscript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 06/07/2004, 17:54
 
Fecha de Ingreso: julio-2004
Mensajes: 11
Antigüedad: 13 años, 5 meses
Puntos: 0
Botones con texto leido de un XML

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...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:06.