2011-10-02 32 views
0

我正在通過教程來創建一個MP3播放器的動作。當我刪除我的第4行代碼時,.swf仍然很好用!我認爲你需要聲明你爲之後創建的每個對象導入了哪些類。爲什麼當我省略在actionscript中導入類時仍然創建對象?

import flash.events.MouseEvent; 
import flash.media.Sound; 
import flash.net.URLRequest; 
import flash.media.SoundChannel; 

//Objects and Variables 
var myMusic:Sound= new Sound(); 
var soundFile:URLRequest = new URLRequest ("bobDylan.mp3"); 
var channel:SoundChannel = new SoundChannel(); 

//Listeners 
btnPlay.addEventListener(MouseEvent.CLICK, playMusic); 
btnStop.addEventListener(MouseEvent.CLICK, stopMusic); 

function stopMusic(evt:MouseEvent):void{ 
    channel.stop(); 
} 

function playMusic(evt:MouseEvent):void 
{ 
    myMusic.load(soundFile); 
    channel = myMusic.play(); 
} 
  • 爲什麼當我忽略導入班 動作的對象仍然創造出來的?
  • 另外...除了「類」什麼除外「進口」。還是可以
    你只能導入類?

回答

1

看起來您正在使用Flash IDE。如果是這樣的話,那麼你可以期望它比你期望的(或者希望的)更寬容。 Flash可能會爲您導入課程(請檢查您的發佈設置並確保它們處於嚴格模式以強制執行此問題)。如果是,則創建的對象仍然是您期望它們的對象,但不信任它,請修復代碼

我每次導入的三件事是類,函數(例如setTimeout)和名稱空間(mx_internal在Flex中使用很多)。

+1

您必須導入類,函數,命名空間或包的全部內容。 'import flash.events;'導入一個包(壞),但是'import flash.events。*;'導入包的內容。 – cwallenpoole

+0

是啊,我剛剛刪除了另一個例子後的評論=) – user784637

相關問題