2010-12-02 11 views
0

J'ai un projet où je charge dans un swf externe et quand il erreur de chargement Je veux qu'il montre l'erreur sur l'écran que j'ai accompli et puis je veux le prouver d'aller pas plus loin . i.e. pas plus d'images sont entrées sans courseComment arrêter le swf quand une erreur se produit

plus axtionscript J'ai essayé et rien obtenu

function ioError(e:IOErrorEvent):void { 
error_txt.text = e.text;  
trace(e.target.loaderURL); 
stop(); 
} 
+0

Où exactement ce code vit-il? Est-ce sur le scénario principal ou dans un MovieClip? – artjumble

+0

sur la maintimeline – mcgrailm

Répondre

1

Vous devez enregistrer la fonction ioError en tant que gestionnaire d'événements sur l'objet LoaderInfo. Je suppose que vous avez créé un chargeur pour charger votre fichier SWF externe. Voici l'exemple d'Adobe (http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/flash/display/LoaderInfo.html) édité légèrement pour supprimer les classes.

import flash.display.Loader; 
import flash.display.LoaderInfo; 
import flash.display.Sprite; 
import flash.events.*; 
import flash.net.URLRequest; 

var loader:Loader = new Loader(); 
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); 
var request:URLRequest = new URLRequest("some.swf"); 
loader.load(request); 
addChild(loader); 

function ioErrorHandler(event:IOErrorEvent):void { 
    trace("ioErrorHandler: " + event); 
} 
+0

Eh bien, oui, je n'ai pas tous ici mais moi qui arrête toujours le reste de ce que je fais ... mais j'ai compris ce que je faisais de mal donc j'ai fait ce que je devais faire pour empêcher le traitement du reste du code à l'aide de branchements conditionnels – mcgrailm