2012-09-23 5 views
0

J'ai besoin d'un peu d'aide. J'essaye de créer une boucle de trois fonctions. J'ai créé la première boucle mais je n'arrive pas à la première fonction après que le soit terminé. Je pense que la meilleure solution est d'appeler le premier à l'intérieur du troisième, mais je ne suis pas sûr que ce soit le meilleur moyen. Quoi qu'il en soit ce est mon code:appeler une fonction à partir d'une autre fonction

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(); 
} 

L'erreur est dans le 2ème de la ligne de fond (LOADALL();)

Toute aide?

Répondre

1

Vous essayez d'appeler la fonction LOADALL sans arguments, alors qu'en réalité, elle nécessite un argument: event - ce qui explique probablement pourquoi vous obtenez une erreur. Puisque vous n'utilisez pas event dans LOADALL, il suffit de passer null, à savoir:

LOADALL(null); 
+0

Ce droit! Je travail. Homme de Thanx. –

+0

Génial. Pourriez-vous marquer ma réponse comme correcte en cliquant sur la coche? – Tom

+3

Vous pouvez également affecter une valeur par défaut à la fonction de paramètre LOADALL (event: MouseEvent = null): void, de cette façon vous pouvez appeler LOADALL comme vous le faisiez auparavant. –

Questions connexes