0

私はボタン(movieClip-button)を作ろうとしています。その上にカーソルを合わせると(MOUSE_OVER)、テキストを表示する関数が呼び出されます。唯一の問題は、それが機能しないことです:p。または、少なくとも私がそれを機能させたい方法ではありません。問題は、初めてカーソルを合わせたときに何も表示されないことです。次に、ムービークリップからマウスを削除して、もう一度マウスを合わせると、問題なく動作します。これが私のコードです:

private var priceString:TextField = new TextField();

    private function addText(price:String):void{
        var priceStringFormat = new TextFormat;
        priceStringFormat.color = 0xFF0000;
        priceStringFormat.font = 'TradeGothic';    
        priceStringFormat.size = 30;
        priceString.x = 285;
        priceString.y = 15;
        priceString.setTextFormat(priceStringFormat);
        priceString.autoSize = TextFieldAutoSize.LEFT;
        priceString.text = "Upgrade Costs: " + price;
        getStage.addChild(priceString);
}

私は自分で問題を見ることができません:s。同じクラスの同じ形式の他のテキスト フィールドは問題なく機能します。getStage var はステージ アクセスを保持しています。(他のテキスト フィールドでも機能します)。奇妙なことに、テキストフィールドの代わりにムービークリップを追加しようとすると、問題なく動作します。

これはどのように見えるべきかです: http://i.stack.imgur.com/5a0jf.png

4

2 に答える 2

0

ボタンの上にカーソルを置いたときにツールチップを作成したい場合はTextFieldSpriteオブジェクトに配置する必要があります。TextFieldを の子として追加し、SpriteSpriteステージの子として追加します。次に、 のアルファ値をトゥイーンするか、Spriteを使用して可視性を切り替えますSprite.visible

PS: 詳細なチュートリアルについては、以下を参照してください。

http://hub.tutsplus.com/tutorials/create-a-customizable-tooltip-in-actionscript-30--active-1793

編集:

提供した画像に基づいて、ボタンのコンストラクターで TextField を子としてスプライトを作成し、スプライトのvisibleプロパティを に設定する必要がありますfalse

ボタンのマウスオーバー ハンドラーで、スプライトのvisibleプロパティをtrueに設定し、マウスアウト ハンドラーでリセットします。

于 2013-06-14T19:29:02.477 に答える