我正在使用XML和Flash。我试图将XML值传递给我的计时器并获得范围错误。我该如何解决这个问题?
我的错误
RangeError:错误#2066:指定的定时器延迟超出范围
在错误$ / throwError()
在flash.utils :: Timer()
在svrReadyXML_fla :: MainTimeline / frame1()
我的SWF '接收定时器功能的XML'
import flash.display.Sprite;
import flash.events.Event;
import flash.utils.Timer;
import flash.events.TimerEvent;
var timer:Timer;
timer = new Timer( speed );
var speed:Number = Number( myXML.TIMER.text() );
var fcount:int = 0;
var count:int = 0;
timer = new Timer(speed);
//timer.addEventListener(TimerEvent.TIMER, incrementCounter);
timer.start();
//LOAD XML
var myXML:XML;
var myLoader:URLLoader = new URLLoader();
myLoader.load(new URLRequest("time.xml"));
myLoader.addEventListener(Event.COMPLETE, processXML);
//PARSE XML
function processXML(e:Event):void {
myXML = new XML(e.target.data);
trace(myXML.COUNT.text());
trace(myXML.FCOUNT.text());
trace(myXML.TIMER.text());
}
答案 0 :(得分:0)
您在加载XML文件之前尝试读取myXML.TIMER
值。它可能返回null,这会导致您的问题。
尝试在processXML
功能中初始化您的计时器。
function processXML(e:Event):void {
myXML = new XML(e.target.data);
timer = new Timer( Number(myXML.TIMER.text()) );
timer.start();
}