Actionscript 3 创建一个预加载程序类,而不是将其包含在文档类中
我已经构建了一个在我的文档类中运行的基本预加载程序。我有麻烦了。我猜这是因为一个类可以和不能从舞台上访问什么? 有两个问题。首先,我不能从课堂上更改舞台上的关键帧。第二个问题是,如果我把它注释掉,我会得到一个错误1009Actionscript 3 创建一个预加载程序类,而不是将其包含在文档类中,actionscript-3,oop,class,preloader,stage,Actionscript 3,Oop,Class,Preloader,Stage,我已经构建了一个在我的文档类中运行的基本预加载程序。我有麻烦了。我猜这是因为一个类可以和不能从舞台上访问什么? 有两个问题。首先,我不能从课堂上更改舞台上的关键帧。第二个问题是,如果我把它注释掉,我会得到一个错误1009 package { import flash.display.MovieClip import flash.events.Event; import flash.events.ProgressEvent; public class Pre ex
package
{
import flash.display.MovieClip
import flash.events.Event;
import flash.events.ProgressEvent;
public class Pre extends MovieClip
{
public function Pre()
{
loaderInfo.addEventListener(Event.COMPLETE,downloadFin);
loaderInfo.addEventListener(ProgressEvent.PROGRESS,preloadProgress);
function preloadProgress(progressEvent:ProgressEvent):void
{
var floatLoaded:Number=loaderInfo.bytesLoaded/loaderInfo.bytesTotal;
var newW:Number=this.width*floatLoaded;
this.Fill.width=newW;
}
function downloadFin(event:Event):void
{
trace('fin')
//stage.gotoAndStop(3);//frame with game
}
}
}
}
我建议您在预加载程序准备就绪时发送一个事件,使您的预加载程序更通用。然后在document类中添加一个侦听器,如下所示:
private function setupPreloader() : void
{
preloader.addEventListener(Event.COMPLETE , onPreloaderComplete);
preloader.start();
}
private function onPreloaderComplete(event : Event) : void
{
preloader.removeEventListener(Event.COMPLETE, onPreloaderComplete);
preloader.dispose();
gotoAndStop(3);
}
你试过这个了吗;??这将是预加载程序,而不是阶段。这将是文档类“Pre”,它应该继承并工作。显示的代码是附加到库中movieClip的单独类。this.gotoAndStop将更改预电影剪辑中的帧,而不是文档中的帧。我做的这是一个蛇游戏,我做了4或5个不同的苹果。每个都在不同的框架上。啊,你提到了document类,我认为它指的是“Pre”,在任何情况下,“Pre”需要已经添加到后台才能访问后台。如果这样做不起作用,发布你的文档类。有没有办法让我在预加载类中而不是在文档类中使用它?