Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash MX 2004

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-09-2008, 11:22   #1 (permalink)
----------
 
Registriert seit: Dec 2006
Ort: Bochum
Beiträge: 53
Galerie - onEnterFrame wird nicht ausgeführt

Hallo liebe Gemeinde,

ich bastel jetzt hier seit zwei Tagen und komme einfach net vorran.
Also, was ich machen will ist über das FirstChild der XML-Datei zu ermitteln, welche Aktion ausgeführt werden muss, dann die ChildNodes übern Switch einzulesen und dann, in dieem Fall, die Galerie ausführen.
Macht er auch soweit, aber wenn die Galerie attached wird, wird bis zum dritten Trace alles ausgeführt, aber die Aktionen zum einen nicht den Buttons zugeordent, noch die Variablen übergeben (wenigstens die max.Anzahl sollte ich sehen) und da das Trace in der onEnterFrame-Funktion auch nicht ausgeführt wird, läuft diese wohl auch nicht.

Das Beknackte ist, dass ich das Ganze schon einmal so ähnlich gebaut habe und da läuft es...ich blicks nicht mehr.

Vielen Danke für eure Hilfe

Grüße Timmy

PHP-Code:
//Variables needed
var picsrc:Array;
var 
piccap:Array;
var 
picx:Array;
var 
picy:Array;
var 
picOffset:Array;
var 
vittxt:String;
var 
webtxt:String;
var 
whichPic:Number 0;
var 
mcl:MovieClipLoader = new MovieClipLoader();
var 
mclL:Object = new Object();

//Read Sheet
function readSheet(xml:String) {
    
picsrc = new Array();
    
piccap = new Array();
    
picx = new Array();
    
picy = new Array();
    
picOffset = new Array();
    
webtxt "";
    
whichPic 0;
    var 
date:XML = new XML();
    
date.ignoreWhite true;
    
date.load(path xml);
    
date.onLoad = function (success) {
    if (
success) {
        var 
nodeData date.firstChild.childNodes;
            for (
i=0i<nodeData.lengthi++) {
                var 
curEle nodeData[i];
                switch (
curEle.nodeName) {
                    case 
"pic":
                    
trace(curEle.attributes.src);
                    
trace(curEle.childNodes[0].nodeValue);
                    
trace(curEle.attributes.px);
                    
trace(curEle.attributes.py);
                    
trace(curEle.attributes.yo);
                    
picsrc.push(curEle.attributes.src);
                    
piccap.push(curEle.childNodes[0].nodeValue);
                    
picx.push(curEle.attributes.px);
                    
picy.push(curEle.attributes.py);
                    
picOffset.push(curEle.attributes.yo);
                    break;
                }
                if (
nodeData.length) {
                        
gallery();
                    }
            }        
        }
    }
}


//Initiate Gallery
function gallery() {
    
_root.attachMovie("gallery""gallery"2000);
    
gallery.picCounts picsrc.length;
    if(
gallery.picCounts 10) {
        
gallery.picCounts "0" gallery.picCounts;
    }
    
gallery.whichPict "01";
    
gallery.caption.htmlText piccap[whichPic];
    
trace("Passed 1");
    
gallery.nextB.onPress = function() {
        if (
whichPic<(picsrc.length-1) && !fadeIn && !fadeOut) {
            
fadeOut true;
            
whichPic++;
            
gallery.whichPict++;
            if(
gallery.whichPict 10) {
                
gallery.whichPict "0" gallery.whichPict;
            }
            
gallery.caption.htmlText piccap[whichPic];
            
trace("nextPressed");
        }
    }
    
trace("Passed 2");
    
gallery.backB.onPress = function() {
        if (
whichPic>&& !fadeIn && !fadeOut) {
            
fadeOut true;
            
whichPic--;
            
gallery.whichPict--;
            if(
gallery.whichPict 10) {
                
gallery.whichPict "0" gallery.whichPict;
            }
            
gallery.caption.htmlText piccap[whichPic];
            
trace("prevPressed");
        }
    }
    
trace("Passed 3");
    
gallery.onEnterFrame = function() {
        
trace ("Running...");
    
// when a new Photo is selected, fade out, load new image, and fade in
        
if (gallery.holder._alpha>10 && fadeOut) {
            
gallery.holder._alpha -= 10;
        }
        else if (
gallery.holder._alpha<10) {
            
mclL.onLoadProgress = function(targetloadedtotal){
                
gallery.loading.percent.text Math.round((loaded/total) * 100) + "%";
            }
            
mclL.onLoadInit = function(){
                
gallery.loading._visible false;
                
gallery.loading.percent.text "";
            }
            
mcl.addListener(mclL);
            
gallery.loading._visible true;
            
gallery.holder._width picx[whichPic];
            
gallery.holder._height picy[whichPic];
            
gallery.holder._y picOffset[whichPic];
            
mcl.loadClip(path picsrc[whichPic], gallery.holder);
            
fadeOut false;
            
fadeIn true;
        }
        else if (
gallery.holder._alpha<100 && fadeIn && !fadeOut) {
            
gallery.holder._alpha += 10;
        }
        else {
            
fadeIn false;
        }
    }
    
gallery.holder._alpha 0;
}


_global.xmlReader = function (xml:String) {
    var 
sheet:XML = new XML();
    
sheet.ignoreWhite true;
    
sheet.load(path xml);
    
sheet.onLoad = function (success) {
        if (
success) {
            var 
sheetData sheet.firstChild;
            switch(
sheetData.nodeName) {
                case 
"gallery":
                    
readSheet(xml);
                    break;
            }
        }
    }

elricco ist offline   Mit Zitat antworten
Alt 04-09-2008, 13:15   #2 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
Nur mal so nebenbei, hier gehören zwei Gleichheitszeichen hin:

Code:
if (i == nodeData.length)
gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 04-09-2008, 20:05   #3 (permalink)
----------
 
Registriert seit: Dec 2006
Ort: Bochum
Beiträge: 53
Danke Gaspode,
aber das hat keinen Einfluss auf den Ablauf.

Gruß
Timmy
elricco ist offline   Mit Zitat antworten
Alt 04-09-2008, 20:29   #4 (permalink)
undefined
 
Benutzerbild von mildesign
 
Registriert seit: Jul 2001
Ort: Stuttgart
Beiträge: 1.839
gallery() wird nicht ausgeführt da sich
PHP-Code:
 for (i=0i<nodeData.lengthi++) { 
und
PHP-Code:
if (== nodeData.length) { 
                        
gallery(); 
                    } 
gegenseitig ausschließen da die Schleife abgebrochen wird sobald i nicht mehr kleiner als nodeData.length ist.
Schreib das ganze so:
PHP-Code:
function readSheet(xml:String) {
//vars
date.onLoad = function (success) {
  if (
success) { 
        var 
nodeData date.firstChild.childNodes
            for (
i=0i<nodeData.lengthi++) { 
               
// schleifeninhalt
            
}
            
gallery(); 
             
                  
        } 
    }

__________________
mfg Frank

Geändert von mildesign (04-09-2008 um 20:30 Uhr)
mildesign ist offline   Mit Zitat antworten
Alt 04-09-2008, 20:35   #5 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
Kann es aber schon haben, wenn nämlich die gallery()
mehrfach aufgerufen wird. Wieso hast Du das überhaupt
die if-Abfrage? Du kannst die gallery() doch einfach nach
der for-Schleife aufrufen.

Code:
for (i=0; i<nodeData.length; i++)
{ 
  ...
} 

gallery();
Edit: Was ist denn heute Abend los?
Schon wieder war einer schneller.
Werde ich alt?


gruß, gaspode

Geändert von gaspode (04-09-2008 um 20:36 Uhr)
gaspode ist offline   Mit Zitat antworten
Alt 16-09-2008, 16:38   #6 (permalink)
----------
 
Registriert seit: Dec 2006
Ort: Bochum
Beiträge: 53
Alles richtig ihr beiden, und vielen Dank auch.
Aber auch mal ganz gut das Ganze mal n paar Tage liegen zu lassen.
Man sollte halt die Funktion nicht genauso nennen, wie den MC...

Meine Button funktionieren zwar noch nicht so wie sie solle, aber das wird.

Also erstmal: Danke.
elricco ist offline   Mit Zitat antworten
Alt 16-09-2008, 22:46   #7 (permalink)
----------
 
Registriert seit: Dec 2006
Ort: Bochum
Beiträge: 53
Und weiter gehts:

Meine Button funktionieren soweit, dass die Funktion zugewiesen wird.

NUR der if-Event innerhalb der Buttons wird nicht ausgelöst und ich versteh nicht warum nicht.
Vor allem ich hab das Ding schon mind fünf mal so gebaut, aber hier will er einfach nicht, ich krieg n Horn oder ne Glatze ( *haarerauf*).

Irgendwer n Tipp?
Ich wäre sehr dankbar.

Danke im Vorraus.
Gruß Timmy
elricco ist offline   Mit Zitat antworten
Alt 17-09-2008, 19:52   #8 (permalink)
----------
 
Registriert seit: Dec 2006
Ort: Bochum
Beiträge: 53
Die ELSE wars!

Ja richtig gehört, die onEnterFrame-Funktion lief nicht, da die weiteren if-Abfragen mit einem vorangestellten else versehen waren. So also nicht, aber so, falls es irgendwen interessiert:

PHP-Code:
//Variables needed
var picsrc:Array;
var 
piccap:Array;
var 
picx:Array;
var 
picy:Array;
var 
picOffset:Array;
var 
vittxt:String;
var 
webtxt:String;
var 
whichPic:Number 0;
var 
mcl:MovieClipLoader = new MovieClipLoader();
var 
mclL:Object = new Object();

//Read Sheet
function readSheet(xml:String) {
    
picsrc = new Array();
    
piccap = new Array();
    
picx = new Array();
    
picy = new Array();
    
picOffset = new Array();
    
webtxt "";
    
whichPic 0;
    var 
dantes:XML = new XML();
    
dantes.ignoreWhite true;
    
dantes.load(path xml);
    
dantes.onLoad = function (success) {
    if (
success) {
        var 
nodeData dantes.firstChild.childNodes;
            for (
i=0i<nodeData.lengthi++) {
                var 
curEle nodeData[i];
                switch (
curEle.nodeName) {
                    case 
"pic":
                    
trace(curEle.attributes.src);
                    
trace(curEle.childNodes[0].nodeValue);
                    
trace(curEle.attributes.px);
                    
trace(curEle.attributes.py);
                    
trace(curEle.attributes.yo);
                    
picsrc.push(curEle.attributes.src);
                    
piccap.push(curEle.childNodes[0].nodeValue);
                    
picx.push(curEle.attributes.px);
                    
picy.push(curEle.attributes.py);
                    
picOffset.push(curEle.attributes.yo);
                    break;
                }
                
gallerys();
            }        
        }
    }
}


//Initiate Gallery
function gallerys() {
    
_root.attachMovie("gallery""gallery"2000);
    
gallery.picCounts picsrc.length;
    if(
gallery.picCounts 10) {
        
gallery.picCounts "0" gallery.picCounts;
    }
    
gallery.whichPict "01";
    
gallery.caption.htmlText piccap[whichPic];
    
trace("Passed 1");
    
gallery.nextBut.onPress = function() {
        if (
whichPic < (picsrc.length-1) && !fadeIn && !fadeOut) {
            
fadeOut true;
            
whichPic++;
            
gallery.whichPict++;
            if(
gallery.whichPict 10) {
                
gallery.whichPict "0" gallery.whichPict;
            }
            
gallery.caption.htmlText piccap[whichPic];
            
trace("nextTriggered");
        }
        
trace("nextPressed");
    };
    
trace("Passed 2");
    
gallery.backBut.onPress = function() {
        if (
whichPic && !fadeIn && !fadeOut) {
            
fadeOut true;
            
whichPic--;
            
gallery.whichPict--;
            if(
gallery.whichPict 10) {
                
gallery.whichPict "0" gallery.whichPict;
            }
            
gallery.caption.htmlText piccap[whichPic];
            
trace("prevTriggered");
        }
        
trace("prevPressed");
    };
    
trace("Passed 3");
    
gallery.loading._visible true;
    
gallery.onEnterFrame = function() {
        
trace ("Running...");
    
// when a new Photo is selected, fade out, load new image, and fade in
        
if (gallery.holder._alpha 10 && fadeOut) {
            
gallery.holder._alpha -= 10;
            
trace ("Fade out done");
        }
        if (
gallery.holder._alpha 10) {
            
mclL.onLoadProgress = function(targetloadedtotal){
                
gallery.loading.percent.text Math.round((loaded/total) * 100) + "%";
                
trace ("Loading..");
            }
            
mclL.onLoadInit = function(){
                
gallery.loading._visible false;
                
gallery.loading.percent.text "";
                
trace ("Init Pic");
            }
            
mcl.addListener(mclL);
            
gallery.loading._visible true;
            
gallery.holder._width picx[whichPic];
            
gallery.holder._height picy[whichPic];
            
gallery.holder._y picOffset[whichPic];
            
mcl.loadClip(path picsrc[whichPic], gallery.holder);
            
fadeOut false;
            
fadeIn true;
            
trace ("Load Pic");
        }
        if (
gallery.holder._alpha 100 && fadeIn && !fadeOut) {
            
gallery.holder._alpha += 10;
            
trace ("Fade In done");
        }
        else {
            
fadeIn false;
        }
    }
    
gallery.holder._alpha 0;

Vielen Dank für die Aufmerksamkeit.
elricco 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 00:54 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele