我想在movieClip上放置一个textField,所以我使用了:
vec[0].addChild(text1);
如果我使用它会出现错误。或者我应该制作一个新的Vector?
TypeError:错误#2007:参数child必须为非null。 在flash.display :: DisplayObjectContainer / addChild() 在FQuiz_fla :: MainTimeline / frame1()
>
答案 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}
}}
希望它有所帮助。我也在手机上;)