【发布时间】:2013-08-07 05:02:42
【问题描述】:
我在 as3 上遇到问题,我想在影片剪辑中添加文本字段,
您可以在第一张图片中看到,如您所见,它有一行。但我需要不止一排。我试图开发一个组件。这将从 xml 文件中获取日期并列出这些数据(xml 数据)。
当我添加一行时它可以,但是当我使用循环时(多行需要它)它不起作用,文本字段正在添加但背景影片剪辑(它位于我的库中的符号(WhiteLine))是不是!。
这段代码运行成功,
var myTextField:TextField = new TextField();
myTextField.text = "some text here!";
myTextField.width = 250;
myTextField.x = 0;
myTextField.y = 0;
myTextField.selectable = true;
myTextField.autoSize = TextFieldAutoSize.LEFT;
var myFormat:TextFormat = new TextFormat();
myFormat.color = 0xAA0000;
myFormat.size = 12;
myFormat.italic = true;
myTextField.setTextFormat(myFormat);
item = new WhiteLine;
item.x = 1;
item.y = (i*30)+1+3*i;
item.addChild(myTextField);
avatar.addChild(item);
item.addEventListener(MouseEvent.MOUSE_OVER, listItemOver);
这是结果的截图,
但是当我使用循环时,我得到了这个结果
这是带有循环的代码
for(var i:int=0;i<25;i++)
{
var myTextField:TextField = new TextField();
myTextField.text = "some text here!";
myTextField.width = 250;
myTextField.x = 0;
myTextField.y = 0;
myTextField.selectable = true;
myTextField.autoSize = TextFieldAutoSize.LEFT;
var myFormat:TextFormat = new TextFormat();
myFormat.color = 0xAA0000;
myFormat.size = 12;
myFormat.italic = true;
myTextField.setTextFormat(myFormat);
item = new WhiteLine;
item.x = 1;
item.y = (i*30)+1+3*i;
item.addChild(myTextField);
avatar.addChild(item);
item.addEventListener(MouseEvent.MOUSE_OVER, listItemOver);
}
【问题讨论】:
-
不清楚循环的用途或添加它的原因。
-
@Gus 我添加了屏幕截图,“项目”是第一行的背景,我想要做,我还想添加所有这些“项目”的文本字段,我用于循环,因为我将从 xml 文件中获取数据列表(会有不止一行)
-
还有谁投了反对票,感谢他!我的问题还不错!
-
你的问题是这样的:A 有效,但是当我做 B 时它不起作用,我该怎么办?... 想到的唯一答案是“不要做 B ”。我们无法读懂你的想法。编辑您的问题,以明确您要通过额外的 for 循环实现的目标,我将删除我的反对票。 成功会是什么样子? (画或描述)?如果我们知道您想要什么,我们或许可以帮助您实现它。
-
不清楚吗?我将不得不“B”,因为我需要多行。好的,我扩展我的问题。
标签: actionscript-3 textfield addchild