2011-04-22 52 views
0

你好,我被困在這個試圖在遊戲中顯示遊戲級別並獲得輸出錯誤1009的遊戲。我做錯了事情,但不能數字。這裏是代碼:錯誤1009無法訪問屬性----再次

        if (levelNumber ==1) { 
        var level:Number = 1; 
        showLevel.text=level.toString(); 
        showLevel.text = String ("Level:  " +level); 


       if (levelNumber ==2) { 
        var level:Number = 2; 
        showLevel.text=level.toString(); 
        showLevel.text = String("Level:  " +level); 
        var numBombs:Number = 4; 

       }else if(levelNumber ==3) { 
        var level:Number = 3; 
        showLevel.text=level.toString(); 
        showLevel.text = String ("Level:  " +level); 

調試器說這是showLevel.text = level.toString()的行;我已經設置爲一個數字,即私人無功等級:數字= 0。我希望這是足夠的代碼,讓你知道這裏發生了什麼。它也會出現一個重複的變量定義 - var級別的編譯器錯誤:Number = 2,下一個= 3。提前感謝您的幫助。乾杯。

+0

您是否有可用的調試器?在問題行上設置斷點並查看發生了什麼。從這段代碼我不能告訴什麼類型的showLevel。另外,在if/else之前聲明'var level' - ActionScript沒有塊範圍的本地化,因此重複定義。 – alxx 2011-04-22 05:57:41

回答

0

錯誤#1009確實是一個空引用錯誤。我看到你的等級被宣佈並具有正確的價值。 也許重點在於你的showLevel對象(我猜它是一個標籤)還沒有被聲明。

的問題可以是你使用:的

private var showLevel:mx.controls.Label; 

代替:

private var showLevel:mx.controls.Label = new mx.controls.Label(); 

否則,如果你讓你showLevel在viewStack你必須確保你的內容是尚未創建。因此,您可以使用:

<mx:ViewStack id="yourView" creationPolicy="all"> 
+0

我很抱歉,但你的回答證明對我來說太過分了。我已經解決了無法在這個時候產生不同級別的遊戲。希望在不久的將來,我會克服這個障礙。 – londonbird 2011-04-25 10:11:08

+0

有什麼你想讓我以更好的方式解釋? – 2011-04-25 17:02:57

相關問題