Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-07-2011, 08:03   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Beiträge: 61
For schleife funktioniert so nicht...

Hallo. Mein Problem ist das folgende: Ich möchte aus einer XML Datei Bilder laden, wobei jedes ein Attribut "farbe" hat. In meiner SWF habe ich buttons, die die Variable "farbeliege" verändern. Jetzt soll immer nur das bild geladen werden, bei welchem das Attribut "farbe" der Variable "farbeliege" entspricht. Das auslesen der Attribute klappt soweit. Ich habe die Schleife jetzt vorerst so gemacht, dass Sie immer "Hit" ausgeben soll, wenn das geladene Bild bzw. dessen Attribut "farbe" der Variable "farbeliege" entspricht. Leider gibt er bis jetzt immer "Hit" aus, egal bei welchem bild.

Hier der Code:

liege = new XML();
liege.ignoreWhite = true;
liege.load("liege.xml");
var j=0;
var produkt_liege:Number=0;
var farbeliege="royal";

liege.onLoad = function(status) {
if (status && this.loaded) {
anzahl_produkte_liege= liege.firstChild.childNodes.length;
anzahl_liege = liege.firstChild.childNodes[produkt_liege].childNodes.length;
geladen_liege = true;
ladeBild_liege(j);
}
};

template_liege._xscale = template_liege._xscale/2;
template_liege._yscale = template_liege._yscale/2;
template_liege.loaded = true;

onEnterFrame = function () {
for(j=0;j<anzahl_liege+1;j++){
if (liege.firstChild.childNodes[produkt_liege].childNodes[j].attributes.farbe==farbeliege){

trace("hit");
trace(j);
};}}

// Funktion, welche die Daten der XML-Datei verarbeitet



function ladeBild_liege(j) {
bild_liege = liege.firstChild.childNodes[produkt_liege].childNodes[j].attributes.pic;
bildname_liege = liege.firstChild.childNodes[produkt_liege].childNodes[j].attributes.name;
loadMovie(bild_liege, "template_liege");}
Rareer ist offline   Mit Zitat antworten
Alt 19-07-2011, 09:32   #2 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Beiträge: 61
niemand eine Idee für mich?
Rareer ist offline   Mit Zitat antworten
Alt 19-07-2011, 13:09   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2005
Beiträge: 151
Du solltest den helfenden mehr Spass bereiten indem du mehr zeigst, mehr Quelltext, die xml, dein Code ordentlich einbetten, und sauberer Scripten mit eventlistener zum beispiel.

Das wär schonmal ein Anfang.
HTML-Code:
for(j=0;j<=anzahl_liege;j++)
yaet ist offline   Mit Zitat antworten
Alt 19-07-2011, 13:35   #4 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Beiträge: 61
Ja ok...also das mit dem sauber Coden wird eher schwierig, weil ich noch ein ziemlicher Anfänger bin in dem Bereich -.-

Hier erstmal der gesamte Code
PHP-Code:
liege = new XML();
liege.ignoreWhite true;
liege.load("liege.xml");
var 
j=0;
var 
produkt_liege:Number=0;
var 
farbeliege="royal";
var 
breite 100;


liege.onLoad = function(status) {
    if (
status && this.loaded) {
        
anzahl_produkte_liegeliege.firstChild.childNodes.length;
        
anzahl_liege liege.firstChild.childNodes[produkt_liege].childNodes.length;
        
geladen_liege true;
        
ladeBild_liege(j);
        
ladeThumb_liege(pl);
    }
};
    
template_liege._xscale template_liege._xscale/2;
template_liege._yscale template_liege._yscale/2;
template_liege._x Stage.width/2-100;
template_liege.loaded true;

    
onEnterFrame = function () {
/*    for(j=0;j<anzahl_liege+1;j++){
        if (liege.firstChild.childNodes[produkt_liege].childNodes[j].attributes.farbe==farbeliege){*/
        
        
};
    
// Funktion, welche die Daten der XML-Datei verarbeitet
    
function ladeBild_liege(j) {
    
bild_liege liege.firstChild.childNodes[produkt_liege].childNodes[j].attributes.pic;
    
bildname_liege liege.firstChild.childNodes[produkt_liege].childNodes[j].attributes.name;
    
loadMovie(bild_liege"template_liege");}
    
    

//Thumbs//

function ladeThumb_liege(pl){
var 
nodes liege.firstChild.childNodes;
for (
pl 0pl anzahl_produkte_liegepl++) {
  var 
thumb_bild_liege:String nodes[pl].childNodes[0].attributes.pic;
  var 
_mc:MovieClip _root.createEmptyMovieClip("thumb_liege" plpl 50);
  
_mc._x breite pl;
  
_mc._y 250;
  
_mc._yscale /= 5;
  
_mc._xscale /= 5;
  
_mc.pl pl// <--- z.b.
  
_mc.onPress doThumpPress;
  
_mc.createEmptyMovieClip("bild"1);
  
_mc.bild .loadMovie(thumb_bild_liege);

}}

function 
doThumpPress() {
  
produkt_liege=this.pl;
  
ladeBild_liege(j);
  } 
die XML sieht wie folgt aus:
HTML-Code:
<?xml version"1.0"?>
<Bilder>
<liege1>
<Bild name="Weisse liege" pic="bilder/liege_farbe/liege1/1195schwarz.jpg" farbe="schwarz"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege1/1196royal.jpg" farbe="royal"></Bild>	
<Bild name="Orange liege" pic="bilder/liege_farbe/liege1/1197anthrazit.jpg" farbe="anthrazit"></Bild>
<Bild name="weiss" pic="bilder/liege_farbe/liege1/1198weiss.jpg" farbe="weiss"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege1/1199kirsch.jpg" farbe="kirsch"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege1/1204ocean.jpg" farbe="ocean"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege1/1205chrome.jpg" farbe="chrome"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege1/1210creme.jpg" farbe="creme"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege1/1230sand.jpg" farbe="sand"></Bild>
</liege1>

<liege2>
<Bild name="Weisse liege" pic="bilder/liege_farbe/liege2/1195schwarz.jpg" farbe="schwarz"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege2/1196royal.jpg" farbe="royal"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege2/1197anthrazit.jpg" farbe="anthrazit"></Bild>
<Bild name="weiss" pic="bilder/liege_farbe/liege2/1198weiss.jpg" farbe="weiss"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege2/1199kirsch.jpg" farbe="kirsch"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege2/1204ocean.jpg" farbe="ocean"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege2/1205chrome.jpg" farbe="chrome"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege2/1210creme.jpg" farbe="creme"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege2/1230sand.jpg" farbe="sand"></Bild>
</liege2>
</Bilder>
Rareer ist offline   Mit Zitat antworten
Alt 19-07-2011, 14:21   #5 (permalink)
Neuer User
 
Registriert seit: Jun 2005
Beiträge: 151
Dein onEnterFrame muss beendet werden mit delete onEnterFrame oder am besten erst gar nicht aufrufen. Ich hab hier mal eine version ohne.
PHP-Code:
var liege = new XML(); 
liege.ignoreWhite true
liege.load("liegen.xml"); 
var 
j=0
var 
produkt_liege:Number=0
var 
farbeliege="royal"
var 
breite 100

liege.onLoad = function(status) { 
    if (
status && this.loaded) { 
        
anzahl_produkte_liegeliege.firstChild.childNodes.length
        
anzahl_liege liege.firstChild.childNodes[produkt_liege].childNodes.length
        
geladen_liege true
       
// ladeBild_liege(j); 
        //ladeThumb_liege(pl); 
    
bla();
        
    } 
}; 
     
template_liege._xscale template_liege._xscale/2
template_liege._yscale template_liege._yscale/2
template_liege._x Stage.width/2-100
template_liege.loaded true


function 
bla(){
    for(
j=0;j<anzahl_liege;j++){
            
trace(liege.firstChild.childNodes[produkt_liege].childNodes[j].attributes.farbe);
}
}

     
// Funktion, welche die Daten der XML-Datei verarbeitet 
     
function ladeBild_liege(j) { 
    
bild_liege liege.firstChild.childNodes[produkt_liege].childNodes[j].attributes.pic
    
bildname_liege liege.firstChild.childNodes[produkt_liege].childNodes[j].attributes.name
    
loadMovie(bild_liege"template_liege");} 
     
     

//Thumbs// 

function ladeThumb_liege(pl){ 
var 
nodes liege.firstChild.childNodes
for (
pl 0pl anzahl_produkte_liegepl++) { 
  var 
thumb_bild_liege:String nodes[pl].childNodes[0].attributes.pic
  var 
_mc:MovieClip _root.createEmptyMovieClip("thumb_liege" plpl 50); 
  
_mc._x breite pl
  
_mc._y 250
  
_mc._yscale /= 5
  
_mc._xscale /= 5
  
_mc.pl pl// <--- z.b. 
  
_mc.onPress doThumpPress
  
_mc.createEmptyMovieClip("bild"1); 
  
_mc.bild .loadMovie(thumb_bild_liege); 

}} 

function 
doThumpPress() { 
  
produkt_liege=this.pl
  
ladeBild_liege(j); 
  } 
yaet ist offline   Mit Zitat antworten
Alt 20-07-2011, 14:37   #6 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Beiträge: 61
Danke. Durch deinen Vorschlag hab ich's hinbekommen. Super
Rareer ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
for, schleife, xml

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
For Schleife funktioniert nicht? stevus ActionScript 3 3 06-07-2010 11:49
unloadMovie in for Schleife funktioniert nicht! katimp Flash 8 3 19-05-2007 23:26
schleife funktioniert nicht vodan ActionScript 2 12 30-08-2006 09:27
Schleife funktioniert nicht richtig RoHase Flash MX 2004 3 26-08-2005 12:22
for - schleife mit dynamischen instanzen funktioniert nicht echo5-7 ActionScript 1 1 23-08-2004 11:04


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:23 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele