家长。未定义

时间:2012-02-01 06:33:06

标签: flash actionscript-3 actionscript flash-cs5

这是名为Level

的动画片段中的一个功能
function makeLvl():void
    {//this function will add bells to the stage
        bellTime ++;//increment the time
        if(bellTime >= bellLimit)
        {//if the time for bell creation has been reached
            bellTotal ++;//increase the amount of bells created
            var newBell:Bell = new Bell();//create a new bell instance
            this.addChild(newBell);//and add it to bellHolder
            bellTime = 0;//reset the time for another creation
            bells.push(newBell);
        }
    }

这会在Level中创建一些儿童动画片段。 现在,在Bell()中,我想访问一些像这样的变量:

parent.bellTotal = 0;

但它说:

Access of possibly undefined property bellTotal through a reference with a static type flash:DisplayObjectContainer

这是什么错误,为什么它会阻止我的代码工作?谢谢

1 个答案:

答案 0 :(得分:2)

在您的Bell类中,尝试将父级转换为MovieClip,例如:

(parent as MovieClip).bellTotal = 0;

MovieClip(parent).bellTotal = 0;

另外,我会确保在bellTotal函数之外的父级范围内声明makeLvl()

我看不到你正在做的事情的全貌,但你可以在Bell类中添加一个函数/变量,并在makeLvl()传递或设置一个值。

var newBell:Bell = new Bell();
newBell.somePublicFunctionYouDefined(bellTotal);
newBell.somePublicVariable = bellTotal;

为了更好地衡量,您可能还想在访问其任何属性之前检查MovieClip(parent)== null