【问题标题】:Getting started with text input and dynamic text fields with ActionScript 2.0 or 3.0使用 ActionScript 2.0 或 3.0 开始使用文本输入和动态文本字段
【发布时间】:2009-07-29 23:54:30
【问题描述】:

我知道这是一个简单的问题,但我对 ActionScript 的工作并不多……

我知道如何使用 Flash 创建文本输入字段。我可以在舞台上创建它并给它一个实例名称。

捕获文本输入字段的值并在动态文本字段中显示该值的代码是什么?这个过程在 ActionScript 2.0 和 3.0 之间有何不同?

【问题讨论】:

    标签: flash actionscript-3 actionscript-2 textinput


    【解决方案1】:

    这真的取决于您何时想要使用输入文本字段的数据更新动态文本字段。

    如果您想更新一次动态文本字段,请尝试以下操作:

    //AS3
    myDynamicTF.text = myInputFT.text;
    
    //AS2
    myDynamicTF._text = myInputFT._text;
    

    如果您想在用户每次输入输入字段时更新动态文本字段,那么在 AS3 中您需要监听 TextField's Change event

    //AS3
    myInputFT.addEventListener(Event.CHANGE, changeHandler);
    
    private function changeHandler(e:Event):void 
    {
        myDynamicTF.text = myInputFT.text;
    }
    

    对于 AS2,您只需设置输入字段 onChange 方法:

    //AS2
    myInputFT.onChanged = function(textfield_txt:TextField) 
    {
        myDynamicTF._text = textfield_txt._text;
    };
    

    【讨论】:

    • 我尝试了您的第二个示例,但我收到一个编译器错误,提示“无法加载类或接口‘事件’”。我应该怎么做?
    【解决方案2】:

    在我重新保存外部 .as 文件之前,我收到了这个错误。与 .fla 中的内容不同,显然 Flash 使用的是 .as 文件的最后保存版本,而不是当前内容。注意:这是在 Flash 8 中,因此您的里程可能会有所不同。

    【讨论】:

      【解决方案3】:

      如果您严格使用 ActionScript 文件,您可能需要导入事件库。这会让你真正使用事件。

      在您要使用事件的每个 ActionScript 文件的开头,您需要添加:

      import flash.events.*;
      

      【讨论】:

      • hmm...试过了,仍然得到“无法加载类或接口'TextEvent'”
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-23
      • 1970-01-01
      • 2013-11-21
      • 1970-01-01
      相关资源
      最近更新 更多