河马是正确的,但我觉得多解释一点很重要。
您创建了一个局部变量,即 var someVariable:DataType; 一个函数内。这意味着该变量仅可用于函数(本地)范围(内部)中的对象,并且仅在函数的生命周期内持续存在。一旦该函数运行,代码就消失了,直到再次运行。看起来您很可能直接在时间线上的 flash IDE 中进行编程,这很好,但是,如果您使用的是文档类,您只需在构造函数上方的 Class 范围内声明您的变量,然后在您现在使用的相同函数中设置值。这样,对变量的引用不存在于函数中,它只是从内部设置。这将允许从同一类中的任何位置访问该变量,即使设置为私有。
这可能会有所帮助:
//Frame 1, Actions layer
//Slap goBack right onto the root / stage
var goBack:MovieClip;
/*
I noticed you had this data-typed differently,
i prefer to type to an interface, not an implementation.
Since your class is a movieclip in the library it extends
MovieClip and therefor IS A MovieClip, but ok either way.
*/
function nameOfFunction():void
{
goBack = new backButton_mc();
goBack.x = 10;
goBack.y = 700;
goBack.back_text.text = myXML.*[buildingName].NAME;
goBack.name = "backBtn";
goBack.buttonMode = true;
addChild(goBack);
goBack.addEventListener(MouseEvent.CLICK, anotherFunction);
}
function anotherFunction(e:MouseEvent):void
{
removeChild(goBack);
}
范围非常重要,一段时间后很容易解决。坚持下去,进行实验,阅读可以帮助您的开发的约定和标准,并开始喜欢 DocumentClass,因为即使一开始它可能会让某些人望而生畏,一旦您学习并习惯了它,就很难去回到时间轴上的 flash IDE 编程,我相信只有显示对象和音频有任何存在。