【问题标题】:Making a button display a text field on click in ActionScript 3.0 [closed]在 ActionScript 3.0 中使按钮在单击时显示文本字段 [关闭]
【发布时间】:2025-12-31 06:20:17
【问题描述】:

我正在尝试在 ActionScript 3.0 中创建一个按钮,单击该按钮时会显示一个包含三段文本的文本字段。

  • 我有一个名为textField 的动态文本字段。
  • 我在舞台上有一个名为 learn_button 的按钮。

    import flash.events.MouseEvent;
    import flash.display.DisplayObjectContainer;
    import flash.text.TextField;
    
    learn_button.addEventListener(MouseEvent.CLICK, onButtonClick);
    
    function onButtonClick(e:MouseEvent):void
    {
        var button:DisplayObjectContainer = DisplayObjectContainer(e.target);
    var textField:TextField = TextField(learn_button.getChildByName("textField"));
    textField.text = "Three paragraphs of text...";
    }
    

【问题讨论】:

  • 你得到什么错误 - 或者你得到什么输出?
  • 1061:通过静态类型 flash.display:SimpleButton 的引用调用可能未定义的方法 getChildByName。
  • 你的TextField 被添加到舞台了吗?
  • @Antizam 请投票取消这个问题。你明白我在问什么,你的答案非常接近。谢谢!

标签: actionscript-3 flash button actionscript


【解决方案1】:
learn_button.addEventListener(MouseEvent.CLICK, onButtonClick);
textField.visible=false;
function onButtonClick(e:MouseEvent):void
{
    textField.visible=true;
    textField.text = "Three paragraphs of text...";
}

【讨论】:

  • @Atizam:这可行,但它只显示我的第一行文本。我实际上有三个段落要填充该文本字段。
  • 查看文本字段的设置,看看它是否有换行。默认情况下,我认为它只是尝试将所有内容写在一行中,但是您可以打开文本换行,这可能会解决它。否则尝试增加文本字段的大小。
  • 属性面板中的 textField 可能未设置为多行
  • 谢谢。今晚下班后我会试试的。
  • @Antizam 谢谢。这正是我所需要的。