【问题标题】:AS3: AddChild issue -- "TypeError: Error #2007: Parameter child must be non-null."AS3:AddChild 问题——“TypeError:错误 #2007:参数 child 必须为非 null。”
【发布时间】: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


【解决方案1】:

尝试在问题发生之前添加断点并检查 mySb 值,它看起来可能为 null ,如果不是,则必须在您正在使用的 DisplayObjects 或您的属性中查找 null 值重新分配它们...如果它是 null ,也许您需要为 ScrollBar 实例设置更多属性,然后再将其添加到显示列表...

【讨论】:

    【解决方案2】:

    在我的情况下,我解决了将组件添加到电影库的问题,但在 Flash CS5.5 环境中工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-02
      • 2014-08-02
      • 1970-01-01
      • 2013-07-28
      • 1970-01-01
      • 2011-07-26
      • 2012-07-08
      • 1970-01-01
      相关资源
      最近更新 更多