Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 外部SWF加载问题_Actionscript 3_Flash_Loader - Fatal编程技术网

Actionscript 3 外部SWF加载问题

Actionscript 3 外部SWF加载问题,actionscript-3,flash,loader,Actionscript 3,Flash,Loader,我在包含papervision场景的SWF中加载了SWF 我以前做过,但问题是,我犯了一个错误——我不确定问题到底是什么 private function downloadSWF(url:String):void { trace(url); var urlRequest:URLRequest = new URLRequest(url); var loader:Loader = new Loader(); loader.contentLoaderInfo.ad

我在包含papervision场景的SWF中加载了SWF

我以前做过,但问题是,我犯了一个错误——我不确定问题到底是什么

    private function downloadSWF(url:String):void
  {
   trace(url);
   var urlRequest:URLRequest = new URLRequest(url);
   var loader:Loader = new Loader(); 
   loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loaderProgressEventHandler);
   loader.load(urlRequest);
  }



 private function loaderProgressEventHandler(ev:ProgressEvent):void
  {

   loader.preloaderCircle.percent = ev.bytesLoaded / ev.bytesTotal;
  }
当应用程序运行代码时-我得到错误:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
 at com.dehash.pv3d.examples.physics::WowDemo()
如果装载还没有完成,为什么我会收到这个

提前谢谢各位



编辑:尝试一个空白的子swf,查看另一个是否正在尝试访问父swf中的内容豪尔赫

我做到了这一点,看起来,即使是使用简单的SWF和鼠标单击侦听器,也会导致错误:

TypeError:Error#1009:无法访问空对象引用的属性或方法。
在simple_fla::MainTimeline/frame1()上

我的代码是:

import flash.events.MouseEvent;

this.stage.addEventListener(MouseEvent.CLICK, onClick);

function onClick(ev:MouseEvent):void
{
    trace("MouseClick");
}

我是否遗漏了一些显而易见的东西???

如果出现错误,它甚至不会加载。您正在访问WowDemo()类上的未引用对象…是否正确实例化了该类?

这似乎在我的子SWF中起作用:

this.addEventListener(Event.ADDED_TO_STAGE, addedToStageEventHandler);

function onClick(ev:MouseEvent):void
{
    trace("MouseClick");
    var event:Event = new Event("END", true, false);
    this.dispatchEvent(event);
}

function addedToStageEventHandler(ev:Event):void
{
    this.stage.addEventListener(MouseEvent.CLICK, onClick);

}

有人知道原因吗?

问题是加载的swf在没有添加到后台的情况下开始运行。因此,
stage
为空,导致该错误

第二个示例使用AddedStatageEventHandler,因为只有在将对象添加到stage之后才引用
stage
,因此
stage
不再为null


第一个错误的可能解决方案是将加载程序添加到stage。这样,当swf加载并启动时,它已经有了一个
stage
引用。

是的,我想是这样的-我正在加载的swf本身运行良好。当我尝试加载子SWF时,父SWF也运行正常,这时会弹出此错误。子SWF是否可能试图使用父SWF中的库?另外,当我不尝试使用papervision加载外部SWF时,这一切都会起作用。请尝试一个空白的子SWF,查看另一个是否尝试访问父SWF中的某些内容。如果loader是loader对象(var loader:loader=new loader()),那么预载循环从何而来?(loader.preforercircle.percent),除非var loader:loader是downloadSWF中的局部变量,而loaderProgressEventHandler中的loader是对预载器MovieClip的引用。还要检查演示是否试图以任何方式进入舞台。如果确实如此,请预加载您的swf,将其添加到stage,并在添加的\u to \u stage事件处理程序上使用init()方法或其他方法来运行加载的swf。谢谢George。你右边的
loader.preforercircle…
应该是
loaderMenu.preforercircle
,是我的错别字。init()方法是一个完美的想法。不错,谢谢你,伙计。现在说得通了。