hola, esto es una sugerencia:
ok, pues como dicen, divide y venceras, tenemos 3 situaciones, la botonera, el tooltip y la carga del xml, supongo que ya tienes la parte de la botonera, bueno, ahora la parte del tool tip, primero, creamos el tooltip en el _root, quedaria un codigo algo asi:
Código :
var tooltip_mc:MovieClip = DepthManager.createObjectAtDepth("EmptyToolTip", DepthManager.kTooltip, {_visible:false});
tooltip_mc.filters = [new DropShadowFilter(4, 45, 0x44A8F3, .5, 4, 4, 1, 3, false, false, false)];
tooltip_mc.efecto = new Tween(tooltip_mc, "_alpha", Regular.easeOut, 0, 80, 1, true);
tooltip_mc.efecto.stop();
tooltip_mc.createTextField ("text_txt", 1, 0, 0, 10, 10);
tooltip_mc.text_txt.autoSize = true;
tooltip_mc.text_txt.border = false;
tooltip_mc.text_txt.background = true;
tooltip_mc.text_txt.html = true;
tooltip_mc.text_txt.selectable = false;
var defaultFormat:TextFormat = new TextFormat();
defaultFormat.font = "verdana";
defaultFormat.size = 11;
defaultFormat.color = 0xE7F8FF;
tooltip_mc.text_txt.setNewTextFormat( defaultFormat );
tooltip_mc.text_txt.backgroundColor = 0x44A8F3;
tooltip_mc._alpha = 85;
tooltip_mc._visible = false;
tooltip_mc.owner = _root;
ok, bueno eso seria el codigo para crear el tooltip, lo metes en una funcion para no tener un relajo, ok, esta solucion para crear el tooltip tiene desventajas y ventajas, como ventajas señalo que el tooltip se crea en un contexto reservado del _root especial para tooltip y cursores, osea nada puede estar encima de ellos, y como desventaja, aunque no tanto una desventaja, seria que necesitas una instancia de componente en la biblioteca, osea jalar un Button a la biblioteca, para que DepthManager pueda funcionar, tambien debes tener un MovieClip vacio en la biblioteca con nombre de vinculacion "EmptyToolTip".
bueno, pues esta son las funciones para mostrar y ocultar el tooltip:
Código :
function showToolTip( aux:String ):Void
{
if( aux != undefined && aux != "" )
{
this.tooltip_mc.text_txt.text = " " + aux + " ";
this.tooltip_mc.onEnterFrame = function()
{
this._x = _root._xmouse + 8;
this._y = _root._ymouse - 18;
};
this.tooltip_mc.onEnterFrame();
this.tooltip_mc.efecto.stop();
this.tooltip_mc.efecto.start();
this.tooltip_mc._visible = true;
}
}
function hideToolTip( Void ):Void
{
tooltip_mc._visible = false;
tooltip_mc.efecto.stop();
delete tooltip_mc.onEnterFrame;
}
pues con esas dos funciones puedes aparecer y desaparecer el tooltip con el texto que quieras que tenga, entonces cada boton tiene una declaracion masomenos de este tipo:
Código :
miBotonPlay.tooltip = "Iniciar";
miBotonStop.tooltip = "Alto Aqui!!"
ok, bueno, en esta parte no entendi si quieres que toda la botonera se cree dinamicamente apartir del XML o solo los textos de los tooltip estan en el XML o que onda, bueno, para que los tooltips sean dinamicos, debes usar XML.load( "tuXML.xml" ), y en el evento onData recuperar los datos: <play><tooltip>Iniciar</tooltip></play> algo asi deberia estar estructurado tu XML, bueno cuando tengas tus datos, los igualas a la propiedad correspondiente de cada uno de tus botoncitos miBotonPlay.tooltip = tooltipXMLPlay; donde tooltipXMLPlay es un String con el texto del tooltip que recuperaste del XML, asi a todos tus botoncines.
bueno, cada boton debe tener estas declaraciones tambien:
Código :
miBotonPlay.onRollOver = miBotonPlay.onDragOver = function( Void ):Void
{
_root.showToolTip( this.tooltip );
}
miBotonPlay.onReleaseOutside = miBotonPlay.onRollOut = miBotonPlay.onDragOut = function( Void ):Void
{
_root.hideToolTip();
}
Asi cada uno de los botones; entonces cuando tu pases el mouse sobre el boton, aparece el tooltip que traia el XML y desaparece cuando alejas el mouse.
Bueno, pues mira te recomiendo que si pones mi sugerencia en marcha, veas primero la creacion del tooltip, los metodos showToolTip y hideToolTip y luego chekate que jales bien losdatos del xml, luego junta esas dos parte, osea divide y venceras, suerte, espero te sirva de algo esto porque parece estar todo regado, jeje, ciao!