【发布时间】:2013-05-07 17:02:34
【问题描述】:
我的以下代码给了我 TypeError: 错误 #2007: 参数 child must be non-null 运行时错误。 不知道为什么...我会很感激任何帮助...
mySb = new ScrollBar();
mySb.x = cont.x; //+ cont.width;
mySb.y = cont.y;
mySb.height = contMask.height;
mySb.enabled = true;
addChild(mySb);
更新
package com.search.view
{
import com.search.events.YouTubeSearchEvent;
import fl.controls.ScrollBar;
import fl.controls.Slider;
import fl.controls.UIScrollBar;
import fl.events.ScrollEvent;
import fl.events.SliderEvent;
import flash.display.Shape;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.Rectangle;
import flash.net.URLLoader;
public class SearchResultContainer extends Sprite
{
private var cont:videoCont;
private var contMask:Sprite;
private var mySb:ScrollBar;
public function SearchResultContainer()
{
super();
}
public function get selectedVideoID():String{
return newVideoID;
}
public function createContainer(_x:Number,_y:Number, videoResult:Array):void{
cont=new videoCont();
cont.x=_x;
cont.y=_y;
addChild(cont);
contMask = new Sprite();
contMask.x = cont.x;
contMask.y = cont.y;
createMask(contMask,0x000000,452,88);
addChild(contMask);
cont.mask = contMask;
mySb = new ScrollBar();
mySb.x = cont.x; //+ cont.width;
mySb.y = cont.y;
mySb.height = contMask.height;
mySb.enabled = true;
addChild(mySb); //problem code here...
}
private function createMask(inSrc:*,inColor:Number=0x999999,inW:Number=80,inH:Number=50):void{
var rect:Shape=new Shape();
rect.graphics.clear();
rect.graphics.beginFill(inColor);
rect.graphics.drawRect(0,0,inW,inH);
rect.graphics.endFill();
inSrc.addChild(rect);
}
}
}
我在 Flex 环境中....
【问题讨论】:
-
多一点上下文可能会有所帮助。你在哪里运行这个?什么时候进入生命周期?
-
看起来您没有使用 Flex 框架,因为您的代码扩展了 Sprite。哪个特定行引发了错误?
-
addChild(mySb); //这里有问题代码...我用flex来写我的AS3并运行项目....
-
您调用的 createScroll() 方法在哪里?我在你的课堂上没有看到它。
-
请忽略该方法...我添加它只是为了测试...
标签: apache-flex flash actionscript-3 addchild