河馬是正確的,但我覺得這是很重要的解釋多一點。
您創建了一個局部變量,即var someVariable:DataType;在一個函數內。這意味着該變量只對函數的作用域(內部)中的對象可用,並且只會在該函數的生命週期中持續使用。不久之後,該函數一直運行,代碼消失,直到再次運行。它看起來像是很可能直接在時間線上的閃存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);
}
範圍是非常重要的,一段時間後,很容易解決。堅持下去,試驗一下,閱讀可以幫助你開發的習慣和標準,並且即使它對初學者來說可能會讓人望而生畏,但是一旦你學習並習慣了它,那麼很難回到在時間軸上的閃存IDE中進行編程,我相信只有顯示對象和音頻纔有可能。