Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-01-2010, 23:37   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2009
Beiträge: 9
XML Datei in Newsticker ausgeben

Hallo Leute,
nachdem ich es mir Eurer Hilfe geschafft habe ,die Elemente einer externen XML- Datei in einem dynamischen Textfeld auszugeben, habe ich nun das nächste Problemchen. Ich möchte gerne die Elemente der XML-Datei in ein Array schreiben. Die Ausgabe im Newsticker zeigt aber ausschließlich die Elemente des Arrays an, welche ich in der Definition des Arrays reingeschrieben habe. Also von den Inhalten der externen Datei leider nichts zu sehen. Habe es mit tickerTextArr.push( "\n"+externalXML.TEXT[i]); versucht, aber leider vergeblich. Die XML-Datei wird problemlos geladen und die Elemente werden auch mit trace () ausgegeben. Der Ticker funktioniert ansonsten auch ohne Probleme.
Wer zeigt mir den Weg ? Wer lüftet das Geheimnis ?
Gruß
Philipp

Code:
import flash.net.URLRequest;

var externalXML  = new XML();
var loader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("texte.xml");
loader.load(request);
loader.addEventListener(Event.COMPLETE, onComplete);
function onComplete(event:Event):void {
    var loader:URLLoader = event.target as URLLoader;
    if (loader !== null) {
        externalXML = new XML(loader.data);
        trace(externalXML.toXMLString());
        trace(externalXML.child("*").length())
        for (var i:int=0;i<externalXML.child("*").length();i++){
        tickerTextArr.push( "\n"+externalXML.TEXT[i]);
        }
    } else {
        trace("loader is not a URLLoader!");
    }
}


/////////////////////////////////DEC-TICKER//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///Einstellungen////
var tickerTextArr:Array 		= 	new Array("hallo");
var tickerSize:Number 			= 	1920;		// Breite der Anzeige in dem der Text zusehen ist.
var tickerPosX:Number 			= 	100;		// x position des Tickers.
var tickerPosY:Number 			= 	500;		// y position des Tickers.
var tickerSpeed:int				=	15;			// Geschwindigkeit des Tickers.

var textFarbe					=	0x990000;    // Text Farbe aendern.
var textGroeße:int				=	40;			// Text Groeße einstellen.
var textUnterstrichen:Boolean	=	false;		// Text Unterstrichen (Wahr/Falsch) true/false
var starten:Boolean				=	true;		// Startet o. Startet nicht den Textablauf bei Laden
												// Dynamisch waehrend zur Laufzeit wird über Funktion gesteuert
												// onOffTicker(true oder false);
// Weitere Texte koennen auch Dynamisch zugeführt werden! Beispiel: tickerTextArr.push("hallo ich bin das vierte Element im Bunde");
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

///Nur mit bedacht veraendern!//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var ticker:Sprite = new Sprite;
addChild(ticker);

var timing:Timer = new Timer(tickerSpeed);
timing.addEventListener("timer", runTicker);

var maske:Sprite = new Sprite();
addChild(maske);

var textF1:TextField = new TextField();
var textF2:TextField = new TextField();

//Erstellt und Positioniert die Textfelder
function erstelleTextfeld(){
	for(var i:int=1; i<3; i++){
		this["textF"+i].autoSize = TextFieldAutoSize.LEFT;
		textFormat(this["textF"+i], tickerTextArr[i-1]);
	}
	textF1.x = tickerSize;
	textF2.x = textF1.x + textF1.width;
}
//Textformat
function textFormat(textF:TextField, textInhalt:String) {
	var format:TextFormat = new TextFormat();
	format.font = "Verdana";
	format.color = textFarbe;
	format.size = textGroeße;
	format.underline = textUnterstrichen;
	textF.defaultTextFormat = format;
	textF.text = textInhalt;
	ticker.addChild(textF);
}
var a:int = 2;
erstelleTextfeld();
ticker.mask = createMask(tickerPosX, tickerPosY, tickerSize);
//Startet oder Stoppt den Textablauf.
function onOffTicker(go:Boolean){
	go ? timing.start() : timing.stop();
}
onOffTicker(starten);
//laesst die Textfelder laufen
function runTicker(evt:Event){
	for(var i:int=0; i<ticker.numChildren;i++){
		ticker.getChildAt(i).x += -1;
		if((ticker.getChildAt(i).x+ticker.getChildAt(i).width)<=0){
			ticker.getChildAt(i).x = ticker.getChildAt(Math.asin(i+1)).x+ticker.getChildAt(Math.asin(i+1)).width;
			ticker.getChildAt(i) == textF1 ? textF1.text = tickerTextArr[a] : textF2.text = tickerTextArr[a];
			a<tickerTextArr.length-1 ? a++ : a=0;
		}
	}
}
//Erstellt die Maske und Positioniert das ticker-Objekt danach aus!
function createMask(pObjX:int, pObjY:int, pObjWidth:int):Sprite{
	maske.x = pObjX;
	maske.y = pObjY;
	maske.graphics.beginFill(0x000000);
	maske.graphics.drawRect(0, 0, pObjWidth, ticker.height);
	ticker.x = maske.x;
	ticker.y = maske.y;
	return maske;
}
petex82 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
xml, xml-datei, xml-struktur

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Hilfe bei Newsticker mit Externer Text Datei... cream_is ActionScript 2 9 15-02-2007 11:51
textdaten fuer newsticker aus externer datei laden fogy ActionScript 1 2 16-04-2005 17:00
Newsticker mit hscroll und Text aus externer Datei Schmittrich ActionScript 1 8 13-04-2005 17:30
URL der auszurufenden Datei ausgeben bubzilla PHP und MySQL 4 26-10-2004 12:15
Newsticker der txt-Datei auslesen soll? Christian82 ActionScript 1 1 01-03-2002 20:35


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:39 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele