Buenas tardes soy nuevo por estos lares, tengo un dilema, el código funciona a medias, me explico, el tooltip sigue la posición del ratón, pero cuando ejecuta este código, me lo carga unas décimas de segundo en la posición arriba a la izquierda del stage (0.0) y luego ya se "translada" al ratón... no encuentro la solución por más que busco en el buscador, en google, o intento encontrar el error en el propio código.... no llego a ningún puerto snif snif ¿algún buen samaritano sabe dónde falla? de antemano muchísimas gracias. un saludo
Éste sería el código as 2.0:
var pathToRoot:MovieClip = _root;
var sombra:MovieClip;
var tooltip_mc:MovieClip;
var paddingX:Number = 0;
var paddingY:Number = 20;
var gameWidth:Number = 900;
var gameHeight:Number = 900;
function showTooltip(_msg_body:String):Void
{
sombra = pathToRoot.createEmptyMovieClip("sombra", pathToRoot.getNextHighestDepth());
tooltip_mc = pathToRoot.attachMovie("tooltip", "tooltip" + pathToRoot.getNextHighestDepth(), pathToRoot.getNextHighestDepth())
sombra._visible = false;
tooltip_mc.body_txt.text = _msg_body;
tooltip_mc.body_txt.autoSize = true;
tooltip_mc.bg_mc._width = tooltip_mc.body_txt._width + 13;
var boxWidth:Number = tooltip_mc.body_txt._width + 10;
with (sombra) {
clear();
ancho = tooltip_mc._width-0.5;
alto = tooltip_mc._height-2.5;
moveTo(tooltip_mc.tempX, tooltip_mc.tempY);
beginFill(0x000000, 40);
lineTo(ancho, 0);
lineTo(ancho, alto);
lineTo(0, alto);
lineTo(0, 0);
endFill();
}
tooltip_mc._x = -tooltip_mc._width;
tooltip_mc.onEnterFrame = function ()
{
this.tempX = pathToRoot._xmouse + paddingX - 30;
this.tempY = pathToRoot._ymouse + paddingY + 3;
if(this.tempX + tooltip_mc._width > gameWidth){
this._x = this.tempX - tooltip_mc._width;
sombra._x = (this.tempX - tooltip_mc._width) + 1;
}else{
this._x = this.tempX;
sombra._x = this.tempX + 1;
}
this._y = this.tempY;
sombra._y = this.tempY;
sombra._visible = true;
}
}
function hideTooltip():Void
{
delete tooltip_mc.onEnterFrame;
delete sombra.onEnterFrame;
removeMovieClip(tooltip_mc);
removeMovieClip(sombra);
}