2012-01-20 33 views
0

我知道全局變量應該是壞的,但是可以創建全局類嗎?我正在創建一個應用程序,我想要一個類來處理聲音。從任何類我都想能夠說soundhandler.playSound();而不必在整個地方傳遞參考。它應該知道它在那裏。AS3 - 全球課?

任何幫助非常感謝。

回答

2

您指的是static成員。

你的類SoundHandler將有一個名爲playSound()靜態方法,它可以像這樣實現:

package 
{ 
    public class SoundHandler 
    { 
     public static function playSound():void 
     { 
      // @todo Logic 
     } 
    } 
} 

playSound()方法是現在可以通過訪問:

SoundHandler.playSound(); 

注意:您提到全局方法是壞的,但是這是一個完美的候選人和我真正推薦的東西(儘可能多的我討厭使用靜態)。

其他:ActionScript 3的Math類大多包含靜態成員,例如, Math.round()


你的問題(評論):我是否需要啓動文檔類SoundHandler

不,實際上你根本不應該做一個SoundHandler的實例。唯一的要求是,你必須有SoundHandler進口在當前的類來訪問它:

import yourpackage.SoundHandler; 
+0

所以我只想實例化SoundHandler在主文檔類?謝謝回覆。 –

+0

我會更新我的答案以涵蓋您的評論。 – Marty

+0

@senortee請參閱編輯。基本上,你不需要創建一個類的實例來訪問它的靜態元素。 – Marty