我有一个屏幕,我想在其中添加一个 TextInput 对象。这样玩家就可以输入他或她的名字来获得高分。
我怎样才能做到这一点?我已经阅读了有关使用该T
工具添加 TextInput 并将其拖入的信息。但是如何将它的值或输入键上的事件访问到我的 HighscoreScreen.as 代码中?
我不能以编程方式添加 TextInput 吗?TextInput
在 Flash 中不为人所知,还是我错过了什么?
我有一个屏幕,我想在其中添加一个 TextInput 对象。这样玩家就可以输入他或她的名字来获得高分。
我怎样才能做到这一点?我已经阅读了有关使用该T
工具添加 TextInput 并将其拖入的信息。但是如何将它的值或输入键上的事件访问到我的 HighscoreScreen.as 代码中?
我不能以编程方式添加 TextInput 吗?TextInput
在 Flash 中不为人所知,还是我错过了什么?
实际上,您可以只使用该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 文件中根本没有代码 - 这对团队合作有很大帮助。)
请注意,我实际上并没有编译此代码。可能缺少导入或小错误。