这是名为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
这是什么错误,为什么它会阻止我的代码工作?谢谢
答案 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