0

textfield在movieclip中添加a并将其添加到背景bg中。这是代码::

                        box = new boxMc();
                        bg.addChild(box);
                        box.x=boxX;
                        box.y=boxY;

                        exampleText="<p class='sarath'>"+k+"</p>";
                        boxVal = new TextField()
                        box.addChild(boxVal);
                        boxVal.styleSheet=sheet;
                        boxVal.htmlText=exampleText;
                        boxX=boxX+28        
                        boxArray.push(box)

现在我想从文本框中检索文本boxVal..我尝试如下::

for(var j:Number =0;j<boxArray.length;j++)
                {
                    var mc:MovieClip = boxArray[j] as MovieClip;
                    trace(mc.getChildAt(1).text)
}

跟踪时mc.getChild(1),它显示为TEXTFIELD,但trace(mc.getChildAt(1).text) 给我以下错误

1119: Access of possibly undefined property text through a reference with static type flash.display:DisplayObject.
4

1 回答 1

1

putvande 是对的,但您可能想知道为什么。

getChild 返回一个 DisplayObject,而 DisplayObjects 没有文本属性。您需要将返回的 DisplayObject 'cast' 为其子类之一(在本例中为 TextField),该子类具有文本属性。

实际上,TextField(mc.getChildAt(1)) 将 getChildAt() 返回的 DisplayObject“转换”为 TextField。然后,您可以愉快地访问 .text 和任何其他 TextField 属性。

于 2013-10-09T14:40:53.960 回答