AS3 /使用Vector在movieClip上显示textField

时间:2013-12-06 08:05:43

标签: actionscript-3 flash

我想在movieClip上放置一个textField,所以我使用了:

vec[0].addChild(text1);

如果我使用它会出现错误。或者我应该制作一个新的Vector?

TypeError:错误#2007:参数child必须为非null。     在flash.display :: DisplayObjectContainer / addChild()     在FQuiz_fla :: MainTimeline / frame1()

>

2 个答案:

答案 0 :(得分:0)

import flash.text.TextField;
var vec:Vector.<MovieClip> = new Vector.<MovieClip>
vec[0] = new Start();
var text1:TextField = new TextField();
text1.text = "ramesh";
vec[0].addChild(text1);
addChild(vec[0]);  //add one of the MovieClips to stage

这应该有用。

答案 1 :(得分:0)

将文本字段声明部分移到顶部,即添加子方法之前。

import flash.display.MovieClip; import flash.events.Event; import flash.display.SimpleButton; import flash.text.TextField; import flash.events.MouseEvent;

var volgende:Volgende = new Volgende(); volgende.x = 663; volgende.y = 546; volgende.visible = true; volgende.useHandCursor = true;的addChild(volgende);

var vec:Vector。 =新的矢量。

vec [0] = new Vraag1(); vec [1] = new Vraag2();

var tekstveld1:TextField = new TextField();

tekstveld1.antiAliasType = AntiAliasType.ADVANCED; tekstveld1.text =“”tekstveld1.type = TextFieldType.INPUT; tekstveld1.textColor = 0xEC8DAD; tekstveld1.width = 390; tekstveld1.height = 248; tekstveld1.x = 165; tekstveld1.y = 312; tekstveld1.border = false; tekstveld1.borderColor = 0xDA1C5C; tekstveld1.wordWrap = true; tekstveld1.restrict =“A-Za-z0-9”;

vec的[1] .addChild(tekstveld1);

的addChild(VEC [0]); //将一个MovieClip添加到舞台

volgende.addEventListener(MouseEvent.CLICK,onClick);

function onClick(e:MouseEvent):void {for(var i:int = 0; i&lt; vec.length; i ++)//逐个浏览Vector {if(contains(vec [i]) )//如果Vector中位置i的Object在舞台上{removeChild(vec [i]); //删除Object var next:int = i; //创建一个临时持有者if(next == vec.length)//检查显示的Object是否是列表中的最后一个{next = 1; //如果是这样,设置为0} else {next ++; //否则,只添加1} addChild(vec [next]); //将下一个Object添加到舞台。如果删除的Object是Vector中的最后一个,它会将Vector中的第一个Object添加到列表中断; //转义for循环,否则它将始终只显示最后一个Object}

}}

希望它有所帮助。我也在手机上;)

相关问题