1

フラッシュ内の一部のMovieClipsのツールチップを作成するためのこのActionScript2.0ファイルがあります。シーンの最初のフレームで#include"tooltip.as"を使用してtooltip.asを呼び出しています。 また、ツールチップの内容を含む文字列を指定しています。

var tooltip:String="Assembleia Geral\nAlice Freitas, Presidente\nJorge Correia, 1º Secretário\nCeleste Madureira, 2º Secretário\n"

tooltip.as:

import mx.transitions.Tween;
var lst:Object = new Object ();
this.createEmptyMovieClip ("d_mc", 650000);
var mc_isim:String = new String ();
function olustur (f_mc:MovieClip, f_str:String)
{
    var my_fmt:TextFormat = new TextFormat ();
    my_fmt.size = 13;
    my_fmt.font = "Arial";
    var w:Number = f_str.length * my_fmt.size / 3 * 2;
    var h:Number = 20;
    f_mc.createEmptyMovieClip ("tool_mc", 5);
    f_mc.tool_mc.createTextField ("tool_txt", 1, 5, 5, 10, 10);
    f_mc.tool_mc.tool_txt.autoSize = true;
    f_mc.tool_mc.tool_txt.setNewTextFormat (my_fmt);
    f_mc.tool_mc.tool_txt.text = f_str;
    f_mc.tool_mc.tool_txt._visible = false;
    f_mc.tool_mc.beginFill (0xCDCDCD, 80);
    f_mc.tool_mc.lineStyle (1);
    f_mc.tool_mc.moveTo (5, 5);
    f_mc.tool_mc.lineTo (f_mc.tool_mc.tool_txt._width+10, 5);
    f_mc.tool_mc.lineTo (f_mc.tool_mc.tool_txt._width+10, (f_mc.tool_mc.tool_txt._height + 5));
    f_mc.tool_mc.lineTo (5, (f_mc.tool_mc.tool_txt._height + 5));
    f_mc.tool_mc.lineTo (5, 5);
    f_mc.tool_mc.endFill ();
    f_mc.tool_mc._y = 0 - h;
    f_mc.tool_mc._visible = false;
    var bos:Tween = new Tween (f_mc.tool_mc, "_x", null, f_mc.tool_mc._x, f_mc.tool_mc._x, 2, true);
    bos.onMotionFinished = function ()
    {
        f_mc.tool_mc._visible = true;
        var my:Tween = new Tween (f_mc.tool_mc, "_alpha", null, 0, 100, 1, true);
        my.onMotionFinished = function ()
        {
            f_mc.tool_mc.tool_txt._visible = true;
            my.stop ();
        };
    };
}
lst.onMouseMove = function ()
{
    d_mc.startDrag (true);
    if (typeof (eval (d_mc._droptarget)) == "movieclip")
    {
        f_mc = eval (d_mc._droptarget);
        if (f_mc.tooltip != undefined)
        {
            d_mc._visible = true;
            if (mc_isim != f_mc._name)
            {
                olustur (d_mc, f_mc.tooltip);
                mc_isim = f_mc._name;
            }
        }
    }
    else
    {
        d_mc._visible = false;
    }
};
Mouse.addListener (lst);

私の質問は、このツールチップをより速く表示させることはできますか?表示されるまで約2秒かかります。

4

1 に答える 1

1

AS2コンストラクターの6番目のパラメーターはTween、トゥイーンの期間を制御します(AS2 Tweenリファレンスを参照)。最初のトゥイーンが終了するとツールチップが表示され、最初のトゥイーンには2秒かかります。

var bos:Tween = new Tween (f_mc.tool_mc, "_x", null, f_mc.tool_mc._x, f_mc.tool_mc._x, 2, true);

2を好きなだけ秒に変更できます。たとえば、これにより、ツールチップがわずか0.5数秒後に表示されます。

var bos:Tween = new Tween (f_mc.tool_mc, "_x", null, f_mc.tool_mc._x, f_mc.tool_mc._x, 0.5, true);
于 2013-03-21T21:16:56.807 に答える