Zurück   Flashforum > Flash und Server > Flash mit XML und Webservices

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-02-2009, 13:53   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2008
Beiträge: 14
Question xml und weiter button

Hallo,

ich habe eine XML datei wo ich immer 3 einträge anzeigen lassen möchte und mit einem klick die nächsten und immer so weiter bis die XML Datei zu ende ist.
Ich bekomme es schon hin, das auf knopfdruck die ersten Drei angezeigt werden. nur wie kann ich jetzt immer die nächsten drei anzeigen lassen.

Code:
for (var i=0; i<anzahl; i++) {
	var tmpObj = this["btn"+(i+1)];
	tmpObj.Punkte = punkte[i];
	tmpObj.Punkte1 = punkte[(i+1)];
	tmpObj.Punkte2 = punkte[(i+2)];
	tmpObj.name = namen[i];
	tmpObj.name1 = namen[(i+1)];
	tmpObj.name2 = namen[(i+2)];
	tmpObj.onRelease = function () {
		trace("Klick über: "+this);
		o = _root.anzeige_mc3;
		o.punkte.text = this.Punkte;
		o.name.text = this.name;
		
		o1 = _root.anzeige_mc1;
		o1.punkte.text = this.Punkte2;
		o1.name.text = this.name2;
		
		o2 = _root.anzeige_mc2;
		o2.punkte.text = this.Punkte1;
		o2.name.text = this.name1;
		
	}
}
So habe ich das mit einem Button gelöst, wie kann ich daraus jetzt einen weiter button machen.

Bitte um Hilfe
thebrain ist offline   Mit Zitat antworten
Alt 21-02-2009, 14:17   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Speicher was immer du auch mit dem XML-File geladen hast in Arrays. Dann kannst du mit einem Zeiger durch das Array wandern und die entsprechenden Indizes anzeigen. Als Ansatz:
PHP-Code:
meinArray = new Array("0","1","2","3","4","5","6");
var 
zeiger:Number 0;
meinWeiterButton.onRelease = function(){
   var 
len:Number = (_root.zeiger+3);
   
trace("len="+len);
   for(var 
i:Number=_root.zeiger;i<len;i++){
      
trace("_root.meinArray["+i+"]="+_root.meinArray[i]);
   }
   
_root.zeiger += 3;

Du musst dann natürlich noch die maximalen Grenzen abfragen.
  Mit Zitat antworten
Alt 22-02-2009, 10:48   #3 (permalink)
Neuer User
 
Registriert seit: Dec 2008
Beiträge: 14
Das heißt also ich müsste alles in ein Array machen. mein anderer Teil im ersten frame sieht so aus.

Code:
var XMLdaten = new XML();
XMLdaten.ignoreWhite=true;
XMLdaten.load("members.xml");
XMLdaten.onLoad = function(success) {
	anzahl = XMLdaten.firstChild.childNodes.length; //liest die anzahl der elemente aus!
	namen = [];
	punkte = [];
	for (var i=0; i<anzahl; i++) {
		namen[i] = XMLdaten.firstChild.childNodes[i].attributes.name;
		punkte[i] = XMLdaten.firstChild.childNodes[i].attributes.punkte;
	}
	gotoAndStop(2);
}
würde das jetzt mit weiter button, so funktioniern. da ich ja schon ein array habe
thebrain ist offline   Mit Zitat antworten
Alt 23-02-2009, 15:31   #4 (permalink)
Neuer User
 
Registriert seit: Dec 2008
Beiträge: 14
Hallo,

könnte ich mit den beiden Array name und punkte schon arbeiten oder müsste ich die Arrays noch anpassen.
Leider bin ich nicht so gut in den Zeiger geschichten.
thebrain ist offline   Mit Zitat antworten
Alt 23-02-2009, 16:28   #5 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Meinst Du immer noch die "drei step-geschichte"?
Also immer nur drei auslesen??
Seh grad "agedoubleju" hatte des ja schon :-)
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"

Geändert von RustyCake (23-02-2009 um 16:49 Uhr)
RustyCake ist offline   Mit Zitat antworten
Alt 24-02-2009, 15:34   #6 (permalink)
Neuer User
 
Registriert seit: Dec 2008
Beiträge: 14
ja genau, ist immer noch die sache Drei gleichzeitig auslesen. Und anzeigen.
Dann die nächsten Drei.

Die frage ist jetzt ob, ich meine Array's schon so benutzen kann, oder sie noch ändern muss. Weil irgendwie stehe ich da etwas auf dem Schlauch.
thebrain ist offline   Mit Zitat antworten
Alt 24-02-2009, 15:46   #7 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Probier mal des, wenn der trace was ausspuckt, kannst auch damit arbeiten!!
ActionScript:
  1. var namen:Array = [];
  2. var punkte:Array = [];
  3. var XMLdaten = new XML();
  4. XMLdaten.ignoreWhite = true;
  5. XMLdaten.load("members.xml");
  6. XMLdaten.onLoad = function(success) {
  7.     anzahl = XMLdaten.firstChild.childNodes.length;
  8.     for (var i = 0; i<anzahl; i++) {
  9.         namen[i] = XMLdaten.firstChild.childNodes[i].attributes.name;
  10.         punkte[i] = XMLdaten.firstChild.childNodes[i].attributes.punkte;
  11.         trace("[namen[i] => "+namen[i]);
  12.         trace("[punkte[i] => "+punkte[i]);
  13.     }
  14.     gotoAndStop(2);
  15. };
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 24-02-2009, 19:53   #8 (permalink)
Neuer User
 
Registriert seit: Dec 2008
Beiträge: 14
leider geht es nicht.
folgende Ausgabe bekomme ich
Code:
[namen[i] => 
[punkte[i] => 
[namen[i] => 
[punkte[i] => 
[namen[i] => 
[punkte[i] =>
thebrain ist offline   Mit Zitat antworten
Alt 24-02-2009, 20:23   #9 (permalink)
Neuer User
 
Registriert seit: Dec 2008
Beiträge: 14
So habe es jetzt hinbekommen das ich immer drei einträge habe.

So habe es jetzt so weit hinbekommen das es funktioniert.
Zur verfollständigung mein AS

Im Frame 1
Zitat:
stop();
var XMLdaten = new XML();
XMLdaten.ignoreWhite=true;
XMLdaten.load("members.xml");
XMLdaten.onLoad = function(success) {
anzahl = XMLdaten.firstChild.childNodes.length; //liest die anzahl der elemente aus!
_root.punkte = [];
_root.namen = [];
_root.altersklasse = [];
for (var i=0; i<anzahl; i++) {
_root.punkte[i] = XMLdaten.firstChild.childNodes[i].attributes.punkte;
_root.namen[i] = XMLdaten.firstChild.childNodes[i].attributes.name;
_root.altersklasse[i] = XMLdaten.firstChild.childNodes[i].attributes.altersklasse;
}
gotoAndStop(2);
}
und im Frame 2
Zitat:
stop();
var zeiger = 0;
btn_w.onRelease = function(){
var len =_root.zeiger+3;
trace("len="+len);
for(var i=_root.zeiger;i<len;i++){

//Anzeige Altersklasse
o = _root.altersklasse_mc;
o.klasse.text = _root.altersklasse[i];


o1 = _root.anzeige_mc1;
o1.punkte.text = _root.punkte[_root.zeiger];
o1.name.text = _root.namen[_root.zeiger];

o2 = _root.anzeige_mc2;
o2.punkte.text = _root.punkte[(_root.zeiger+1)];
o2.name.text = _root.namen[(_root.zeiger+1)];

o3 = _root.anzeige_mc3;
o3.punkte.text = _root.punkte[i];
o3.name.text = _root.namen[i];
}
_root.zeiger += 3;
}
Nur eine kleine Frage hätte ich noch, wie kann ich per Leertaste weiter schalten, anstatt den butten zudrücken??

Geändert von thebrain (25-02-2009 um 07:02 Uhr) Grund: Es funktioniert jetzt
thebrain ist offline   Mit Zitat antworten
Alt 25-02-2009, 09:57   #10 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
servus
ActionScript:
  1. stop();
  2. var zeiger = 0;
  3. function weiter() {
  4.   var len = _root.zeiger+3;
  5.     trace("len="+len);
  6.     for (var i = _root.zeiger; i<len; i++) {
  7.         //Anzeige Altersklasse
  8.         o = _root.altersklasse_mc;
  9.         o.klasse.text = _root.altersklasse[i];
  10.         o1 = _root.anzeige_mc1;
  11.         o1.punkte.text = _root.punkte[_root.zeiger];
  12.         o1.name.text = _root.namen[_root.zeiger];
  13.         o2 = _root.anzeige_mc2;
  14.         o2.punkte.text = _root.punkte[(_root.zeiger+1)];
  15.         o2.name.text = _root.namen[(_root.zeiger+1)];
  16.         o3 = _root.anzeige_mc3;
  17.         o3.punkte.text = _root.punkte[i];
  18.         o3.name.text = _root.namen[i];
  19.     }
  20.     _root.zeiger += 3;
  21.    
  22. };
  23. keyListener = new Object();
  24. keyListener.onKeyDown = function() {if (Key.isDown(Key.SPACE)) {weiter();}};
  25. Key.addListener(keyListener);
  26. this.btn_w.onRelease = function(){weiter();};
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Antwort

Lesezeichen

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



Alle Zeitangaben in WEZ +1. Es ist jetzt 04:18 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele