【发布时间】:2013-03-31 12:57:36
【问题描述】:
我的设置想法是在舞台上有一个输入文本字段和三个单独的按钮。当您在文本字段中键入内容并按下输入按钮时,字段内的文本将添加到数组中。
当您按下显示按钮时,数组的内容会显示在屏幕上(数组的每个值都显示在最后一个值的下方)。
最后一个按钮应该删除数组上的所有当前值,并清除屏幕上所有显示的值。但我无法让我的代码按预期工作,因为我收到了,
TypeError: Error #1009: Cannot access a property or method of a null object reference.
使用这段代码:
import flash.text.TextField;
import flash.events.MouseEvent;
var myArray:Array = new Array ("");
var tf:TF;
btnInput.addEventListener(MouseEvent.CLICK, txtInput);
function txtInput(event:MouseEvent):void
{myArray.push(txtInput.text);}
btnDisplay.addEventListener(MouseEvent.CLICK, txtDisplay);
function txtDisplay(event:MouseEvent):void
{for (var i:int = 0; i < myArray.length; i++)
{var tf:TF = new TF();
tf.txt.text = myArray[i];
tf.y = 280 + (i * 25);
tf.x = 265;
addChild(tf);
tf.name="test";}
}
btnClear.addEventListener (MouseEvent.CLICK, txtClear);
function txtClear(event:Event){
myArray.splice(1);
if (tf.numChildren != 0){
removeChild(getChildByName("test"));}
}
或者,当我添加时
var tf:TF = new TF;
它只删除屏幕上显示的一个值。我还可以补充一点,“TF”是库中的一个影片剪辑,其中包含一个实例名称为 txt 的动态文本字段。问题仅出在最后一个按钮上,还是我也应该更改其他内容?我不知道如何按照我的意愿进行这项工作。我对编码很陌生,因此非常感谢任何提示或帮助。提前致谢!
【问题讨论】:
-
你有一个值数组,但没有一个 TF 数组?尽快返工,您的 1009 可能会完全消失。
-
tf 是一个movieClip 符号TF。如何将它们放入数组中? myArray 用于输入文本。所以我在数组中有字符串。我也不明白你把 TF 放在数组中是什么意思。
-
添加另一个数组来保存这些 TF。就像使用字符串一样简单,
tfArray.push(tf);然后从那里引用它们,包括批量删除。
标签: actionscript-3 removechild