1

Flash AS3 に疑問があります。私の要件は、Flash 入力テキスト フィールドに透かしを配置し​​て、ユーザーが入力テキスト フィールドをクリックした場合に、既に表示されていたテキストが表示されないようにすることです。どなたかからより良い回答が得られることを願っています ありがとう -- ジェニファー。

4

3 に答える 3

1

実際に探している用語は、透かしではなく、cuebanner と呼ばれます。私は Flash に詳しくないので、その方法を説明することはできません。ただし、キューバナーをグーグルで検索すると、透かしをグーグルで検索するよりも良い情報が得られる場合があります。

于 2009-03-17T05:44:37.070 に答える
1

はい、このように行うことができますテキストファイルを作成しますユーザーのクリックをリッスンするテキストaddEventListenerを入力し、関数でテキストフィールドの内容をクリアします

txt = new TextField();
txt.text = "clikc me";
txt.addEventListener(MouseEvent.CLICK,onTxtClick);
this.addChild(txt);

// the Listen function
private  function onTxtClick(evt:MouseEvent):void
{
     txt.text = "";
}
于 2009-03-17T06:07:15.797 に答える
1

Shvilamが書いたものを少し改善するには:

public static const PROMPT:String = "Type your text here...";
public static const PROMPT_COLOR:Number = 0x999999;

txt = new TextField();
txt.text = PROMPT;
txt.textColor = PROMPT_COLOR;
txt.addEventListener(FocusEvent.FOCUS_IN, focusHandler);
txt.addEventListener(FocusEvent.FOCUS_OUT, focusHandler);
this.addChild(txt);

// the Listen function
private  function focusHandler(event:FocusEvent):void
{
     switch (event.type) {
     case FocusEvent.FOCUS_IN:
         if (txt.text == PROMPT) {
            txt.text = "";
            txt.textColor = 0xFFFFFF;
         }
         break;
     case FocusEvent.FOCUS_OUT:
         if (txt.text == "") {
             txt.text = PROMPT;
             txt.textColor = PROMPT_COLOR;
         }
         break;
}

(未テスト)

于 2009-03-17T11:53:53.797 に答える