Ceci est un projet AS3 créé dans FlashDevelop. Il cible flash player 10. J'ai un problème dérangeant lors de l'exécution de ce code:crash brut lors du chargement de swf externe (avec exemple de code cette fois-ci)
package
{
import flash.display.Loader;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLRequest;
public class Main extends MovieClip
{
private var loader:Loader;
private var sprite:Sprite;
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init); }
private function init(e:Event = null):void {
removeEventListener(Event.ADDED_TO_STAGE, init);
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadingDone);
loader.load(new URLRequest('loadIn.swf')); // error occurs when loading this file.
//loadIn.swf is compiled with all the code in this file but with the loader-parts commented out...
// just a Adobe Flash created graphic, no problems loading this one
//loader.load(new URLRequest('waitingPopup.swf'));
//sprite = new Sprite();
//sprite.graphics.beginFill(0xFF0000);
//sprite.graphics.drawRect(0, 0, 490, 356);
//sprite.graphics.endFill();
//addChild(sprite);
}
private function loadingDone(e:Event):void {
trace(loader.contentLoaderInfo.contentType); // application/x-shockwave-flash
trace(loader.contentLoaderInfo.parentAllowsChild); // true
trace(loader.contentLoaderInfo.sameDomain); // true
trace(loader.contentLoaderInfo.swfVersion); // 10
trace(loader.contentLoaderInfo.content); // [Object Main]
//this is were everything goes south
addChild(e.target.content);
}
}
}
Maintenant, ce que je comprends de la fenêtre de débogage, ce qui se passe est que le swf redémarre et se termine juste dans une boucle quand j'essaie d'appeler le addChild()
-method. Tout ce qui est montré dans ma fenêtre de sortie est:
[SWF] C:\svn\Development\TestProject\bin\loadIn.swf - 1 797 bytes after decompression.
application/x-shockwave-flash
true
true
10
[object Main]
Des idées ce qui pourrait créer une telle boucle étrange et une erreur? J'ai essayé de le résoudre toute la journée. Peut-être quelques types de paramètres dans FlashDevelop ou les paramètres du compilateur MXMLC?
Reconnaissant pour toutes les réponses!
merci beaucoup! résolu mes problèmes! J'ai eu un peu de collision d'espace de noms entre le swf chargé et mon swf principal, je n'avais aucune idée que flash était si sensible à cela. J'ai trouvé étrange que je ne reçoive pas d'erreur lors du chargement d'un fichier dont la classe principale a le même nom que mon swf principal, ce qui (je suppose) finit par appeler la classe principale de ma swf principale => loop: merci encore! – Tobias
Content de l'entendre! =) – DHuntrods