0

我有一个屏幕,我想在其中添加一个 TextInput 对象。这样玩家就可以输入他或她的名字来获得高分。

我怎样才能做到这一点?我已经阅读了有关使用该T工具添加 TextInput 并将其拖入的信息。但是如何将它的值或输入键上的事件访问到我的 HighscoreScreen.as 代码中?

我不能以编程方式添加 TextInput 吗?TextInput在 Flash 中不为人所知,还是我错过了什么?

4

1 回答 1

1

实际上,您可以只使用该T工具来绘制输入文本字段。确保将字段类型设置为Input Text并为其分配实例名称(例如txtName)。然后在您的代码中,您可以像这样访问该字段:

import flash.text.*;
import flash.display.*;
...

// Code class for the score screen.
public class ScoreScreen
{
    private var m_mcScreen:MovieClip = null;
    private var m_txtName:TextField = null;
    ...

    public function ScoreScreen ( mcScreen:MovieClip )
    {
        m_mcScreen = mcScreen;

        InitName ();
    }

    public function InitName ():void
    {
        // This assumes that m_mcScreen has a direct child named 'txtName'
        // If the text field is more deeply nested, you need to navigate
        // through the entire hierarchy of display objects until you
        // reach the text field.
        m_txtName = mcScreen.getChildByName ( "txtName" ) as TextField;
        m_txtName.text = "Default text";
    }
}

我在我的 Flash 游戏中使用了这个代码——我的设置是,我为游戏的每个主要屏幕都有一个专用的影片剪辑,并且每个都有一个实现整个屏幕逻辑的类。(我在 .fla 文件中根本没有代码 - 这对团队合作有很大帮助。)

请注意,我实际上并没有编译此代码。可能缺少导入或小错误。

于 2013-06-17T19:12:38.673 回答