【发布时间】:2016-01-10 03:10:06
【问题描述】:
我一直无法让这个按钮工作。我想要它,以便每当您单击它时,都会弹出一个新的文本字段,您可以在其中输入内容。这应该是用于类似琐事的游戏,用户可以在其中输入自己的问题和答案。这是到目前为止的代码...
这是文本字段的属性 -
QuestionTextField = new TextField();
QuestionTextField.defaultTextFormat = SmallTextFormat;
QuestionTextField.textColor = 0x660000;
QuestionTextField.x = stage.stageWidth * 0.1;
QuestionTextField.y = 200;
QuestionTextField.width = stage.stageWidth * 0.8;
QuestionTextField.height = 20;
QuestionTextField.selectable = false;
QuestionTextField.type = TextFieldType.INPUT;
QuestionTextField.border = true;
QuestionTextField.multiline = true;
QuestionTextField.wordWrap = true;
这是每次单击按钮时都应该创建一个新文本字段的函数-
private function AddQuestionButtonClicked(m:MouseEvent){
for(var i = Questions.length; i>=1; i--){
container_buttonsMC.addChild(QuestionTextField);
Questions.push(QuestionTextField);
QuestionTextField.y += 20
}
}
注意:“问题”是一个包含文本字段数量的数组,container_buttonsMC 包含游戏主菜单上的所有按钮。
问题是,每当我点击它时,它 1. 实际上并没有创建一个新的文本字段,而是将它向下移动了一定数量的像素,以及 2. 它有点复制了文本字段的位置...如果这有任何意义的话。如果我单击一次按钮,它会将文本字段向下移动 20 像素。如果我再次单击它,它将向下移动 40 像素,然后向下移动 80 像素,依此类推...
我还跟踪了数组的长度,令人惊讶的是,每次单击它,出现的数字都会翻倍。但是,只有一个文本字段可见(显然)。它可能与 for 循环的操作有关,但我不确定。有谁知道问题是什么? (提前感谢,我对 AS3 和一般编程还是新手)
【问题讨论】:
标签: actionscript-3