2011-10-02 75 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

相关问题