2012-09-20 54 views
0

我有一個鏈接到MovieClip一個SpeachBubble類:正確使用公共靜態常量的,錯誤1119

import flash.display.MovieClip; 
    import flash.geom.Matrix; 

    public class SpeachBubble extends MovieClip { 

     public static const SPEACH_POSITION_LEFT:String = 'speachPositionLeft'; 
     public static const SPEACH_POSITION_RIGHT:String = 'speachPositionRight'; 

     private var currentPosition = SPEACH_POSITION_LEFT; 

    } 

我也有叫「說話」,這是貼在我的字符,該方法看起來的方法像這樣:

public function speak(text:String, position:String, displayTime:Number = 2500) 

我想能夠調用speak方法是這樣的:

man.speak("I'm saying something!", SpeachBubble.SPEACH_POSITION_LEFT); 

卜t我只是得到錯誤:

1119:通過靜態類型類的引用訪問可能未定義的屬性SPEACH_POSITION_LEFT。

編輯:我上傳整個項目here,我使用CS6但保存爲CS5版本中,如果您還沒有升級。它包含1個fla文件和一些類,入口點參見時間線上的第一幀。

+0

我想補充一點,是的..我已經導入了類正確 – Drahcir

+1

這對我來說很好,所以你有可能有其他錯誤。就像包可能不正確。 –

+0

真的嗎?它(編譯器)允許這個 - >'我在說什麼!'而不是「我在說點什麼!」? –

回答

1

你的問題是你的CS6聯動設置。您不使用完全限定名稱空間。

在庫中,右鍵點擊你的「人」的資產,並轉到符號屬性。在類路徑中,使用classes.intro.Man - 你當前只是它作爲「人」,這將是在你的項目目錄的根Man.as文件的等價物。

讓子類空的,因爲它是從你的類文件的。 (雖然我相信它無論如何都會忽略它,如果它發現與命名空間的類文件)

做同樣爲您SpeachBubble

+0

非常好,非常感謝 – Drahcir