2012-09-23 97 views
0

我需要一点帮助。我正在尝试创建三个函数的循环。 我创建了第一个循环,但在完成第三个循环后我无法进入第一个功能。 我认为最好的解决方案是打电话给第三个里面的第一个, ,但我不确定这是最好的方法。 反正这是我的代码:从另一个函数内部调用函数

function LOADALL(event:MouseEvent):void{ 
if (ConditionC == "NotPlaying"){ 
    ConditionC = "Playing"; 
    var urlRequest:URLRequest = new URLRequest(Sounds_Array[i]); 
    var wav:URLLoader = new URLLoader(); 
    wav.dataFormat = 'binary'; 
    wav.load(urlRequest); 
    wav.addEventListener(Event.COMPLETE, playWav); 
    } 
} 

function playWav(e:Event):void{ 
    var tts:WavSound = new WavSound(e.target.data as ByteArray); 
    var channel:WavSoundChannel = tts.play(); 
    channel.addEventListener(Event.SOUND_COMPLETE, completeHandler) 
} 

function completeHandler(e:Event):void{ 
    ConditionC = "NotPlaying"; 
trace ("hello"); 
LOADALL(); 
} 

的误差在从端线2号(LOADALL();)

任何帮助吗?

回答

1

您试图在不带任何参数的情况下调用LOADALL函数,但实际上它只需要一个参数:event - 这可能是您出现错误的原因。既然你是不是在LOADALL使用event,只是通过null,即:

LOADALL(null); 
+0

那好吧!我工作。谢谢你。 –

+0

太好了。您是否介意通过点击打勾将我的答案标记为正确? – Tom

+3

您也可以为参数函数LOADALL(ev​​ent:MouseEvent = null):void分配一个默认值,这样您可以像以前那样调用LOADALL。 –

相关问题