我正在尝试上课但是我遇到了这些错误:
... \ SubtitleLoader.as,第14行,第8列1120:未定义的访问 物业阶段。 ... \ SubtitleLoader.as,第20行,第10栏1061:致电 通过引用可能未定义的方法addEventListener 使用静态类型SubtitleLoader。
这是我的代码:
package
{
import flash.events.*;
import flash.display.Stage;
import flash.net.URLRequest;
import flash.net.URLLoader;
public class SubtitleLoader
{
private var str:String;
public function init():void
{
if (stage)
{
LoadText();
}
else
{
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
}
private function onAddedToStage(event:Event):void
{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
LoadText();
}
private function LoadText():void
{
var url:URLRequest = new URLRequest("aman.srt");
var urlLoader:URLLoader = new URLLoader();
urlLoader.load(url);
urlLoader.addEventListener(Event.COMPLETE, onComplete);
}
private function onComplete(event:Event):void
{
trace(event.data);
}
}
}
我该如何解决这个问题。
答案 0 :(得分:1)
您无法添加事件,因为您的类不会扩展EventDispatcher。您的类无法添加到舞台中,因为它不会扩展任何显示类。您可能希望扩展flash.display.Sprite
(也扩展EventDispatcher):
package
{
import flash.events.*;
import flash.display.Sprite; //import sprite
import flash.display.Stage;
import flash.net.URLRequest;
import flash.net.URLLoader;
public class SubtitleLoader extends Sprite //extend sprite, inheriting EventDispatcher as well
{
另外,为函数名称UpperCamelCase(LoadText)提供错误的编码风格。 UpperCamelCase保留给类名。