B
buni
Guest
Hallo zusammen,
ich habe ein riesen Problem mit einem Interval und konnte dazu leider nirgends etwas finden. daher hoffe ich, dass mir jemand von euch vieleicht helfen kann.
Ich bastel gerade an einer art Präsentation in Flash die aus einer XML Datei mit Terminen gefüttert wird und dann später auf einem Monitor Besucher persönlich begrüßen soll. Das heißt diese Präsentation läuft den ganzen Tag durch. Soweit funktioniert das auch alles wunderbar nur leider wird mein Interval mit dem ich den Begrüßungstext für die einzelnen Besucher mit einem Schreibmaschinen Effekt einblende mit jedem Durchlauf langsamer und ich kann mir nicht erklären woher das kommt.
Das Interval soll alle 100ms etwas machen das wäre dann ja 10 mal pro Sekunde. Beim ersten Durchlauf passiert immerin 9 mal etwas. Nach ca. 10 Durchlaüfen dann nur noch 4 mal und es wird dann immer weniger bis es dann fast ganz stehen bleibt.
so hier mein Code:
Ich hoffe, jemand von euch hat eine Idee.
Schonmal vielen Dank im Vorraus
Gruß Daniel
ich habe ein riesen Problem mit einem Interval und konnte dazu leider nirgends etwas finden. daher hoffe ich, dass mir jemand von euch vieleicht helfen kann.
Ich bastel gerade an einer art Präsentation in Flash die aus einer XML Datei mit Terminen gefüttert wird und dann später auf einem Monitor Besucher persönlich begrüßen soll. Das heißt diese Präsentation läuft den ganzen Tag durch. Soweit funktioniert das auch alles wunderbar nur leider wird mein Interval mit dem ich den Begrüßungstext für die einzelnen Besucher mit einem Schreibmaschinen Effekt einblende mit jedem Durchlauf langsamer und ich kann mir nicht erklären woher das kommt.
Das Interval soll alle 100ms etwas machen das wäre dann ja 10 mal pro Sekunde. Beim ersten Durchlauf passiert immerin 9 mal etwas. Nach ca. 10 Durchlaüfen dann nur noch 4 mal und es wird dann immer weniger bis es dann fast ganz stehen bleibt.
so hier mein Code:
Code:
var date:Array = new Array();
var room:Array = new Array();
var visitor:Array = new Array();
var z:Number = 0;
var intervalID:Number = setInterval(secTick, 1000);
var Counter:Number = 0;
var termine:Number = 2;
var dauer:Number=0;
var erster:Boolean=true;
var interval:Number;
var zaehler:Number=0;
var zeit = new Date();
function secTick()
{
switch (Counter)
{
case 0:
trace("Durchlauf: "+(zaehler++));
LoadRSSFeed2(false);
break;
case termine:
trace("Counter: "+Counter);
if(erster){
dauer=date.length;
erster=false;
}
if(dauer>0)
{
if(interval!=null)
clearInterval(interval);
interval=setInterval(ausgabe,100);
txt.Datum.text= "Ihr Termin: "+date[date.length-dauer];
trace("termin: "+(date.length-dauer));
termine=termine+15;
}
if(dauer==0)
{
Counter=-1;
erster=true;
termine=2;
}
break;
}
Counter++;
trace(Counter);
}
function ausgabe()
{
z++;
txt.Besucher.htmlText = visitor[date.length-dauer].substr(0, z);
trace("Z: "+z);
if (visitor[(date.length-dauer)].substr(0, z) == visitor[date.length-dauer]) {
clearInterval(interval);
z=0;
dauer--;
}
}
function LoadRSSFeed2(finished:Boolean)
{
trace("LoadRSSFeed2");
RSSFeed = new XML();
RSSFeed.ignoreWhite = true;
RSSFeed.load("empfang_bg_termine.xml");
RSSFeed.onLoad = function(success)
{
if (success)
{
visitor.length=0;
date.length=0;
room.date=0;
var Termine:Array = XPathAPI.selectNodeList(this.firstChild, "/rss/termine/termin");
//trace(Termine.length);
for (var i:Number = 0; i < Termine.length; i++) {
visitor[i]= XPathAPI.selectSingleNode(Termine[i], "*/referent").firstChild.nodeValue;
date[i]= XPathAPI.selectSingleNode(Termine[i], "*/date").firstChild.nodeValue;
room[i]= XPathAPI.selectSingleNode(Termine[i], "*/raum").firstChild.nodeValue;
}
}
else
{
trace("XML loading failed !!!");
}
}
}
Ich hoffe, jemand von euch hat eine Idee.
Schonmal vielen Dank im Vorraus
Gruß Daniel