Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 30-04-2006, 12:27   #1 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
bilder switch

hey leute.
lange nichts mehr von mir gehört

habe folgendes :

habe diese xml datei :

<?xml version="1.0" encoding="utf-8" ?>
- <news>
<newsnew bilder="bild_1.jpg" />
<newsnew bilder="bild_2.jpg" />
<newsnew bilder="bild_3.jpg" />
</news>


und möchte mit diesem script jetzt nur das erste bild in meinen holder laden :

PHP-Code:
function loadXML(loaded) {
    if (
loaded) {
        
image = [];
        var 
punkte this.firstChild.childNodes.length;
        for (
i=0i<punktei++) {
            
image[i] = punkte[i].attributes.bilder;
        }
        
firstImage();
    }
}
xmlData = new XML();
xmlData.ignoreWhite true;
xmlData.onLoad loadXML;
xmlData.load("bilder.xml");
/////////////////////////////////////
function firstImage() {
    
holder.loadMovie(image[0], 1);

ich wollte jetzt auch erstmal fragen,ob das vom prinzip her überhaupt richtig
ist,oder obs totaler mist ist. was danach kommt ist dann ein button,mit dem
ich dann durch die bilder switchen kann.will also die bilder in ein array
speichern und dann durchswitchen.

hab die datei mal angehangen.

mfg
Angehängte Dateien
Dateityp: rar bilder_switch.rar (4,4 KB, 6x aufgerufen)
__________________
!!! www.verblitzt.de !!!
_Max_ ist offline   Mit Zitat antworten
Alt 30-04-2006, 12:34   #2 (permalink)
Flashworker
 
Benutzerbild von sebastian
 
Registriert seit: Nov 2001
Ort: Wiesbaden
Beiträge: 10.945
Versuchs mal damit:
ActionScript:
  1. image[i] = this.firstChild.childNodes[i].attributes.bilder;

punkte[i] bringt dir ja nicht viel, "punkte" ist ja nur die Anzahl der Bilder


nachtrag: Weiß zwar nicht genau was du vorhast, aber wenn du ein Newssystem machen willst bei dem jedem Eintrag mehrere Bilder zugeordnet sind, dann ist der Aufbau unter Umständen etwas komisch.

Geändert von sebastian (30-04-2006 um 12:37 Uhr)
sebastian ist offline   Mit Zitat antworten
Alt 30-04-2006, 12:41   #3 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
das war wohl ein blöder denkfehler von mir.
klappt

bei der switch funktion hab ich folgendes genommen :

PHP-Code:
function loadXML(loaded) {
    if (
loaded) {
        
image = [];
        var 
punkte this.firstChild.childNodes.length;
        for (
i=0i<punktei++) {
            
image[i] = this.firstChild.childNodes[i].attributes.bilder;
        }
        
firstImage();
    }
}
xmlData = new XML();
xmlData.ignoreWhite true;
xmlData.onLoad loadXML;
xmlData.load("bilder.xml");
/////////////////////////////////////
function firstImage() {
    
holder.loadMovie(image[0], 1);
}
function 
nextImage() {
    if (
p<(total-1)) {
        
p++;
        
holder.loadMovie(image[p], 1);
    }
}
btn.onRelease = function() {
    
nextImage();
}; 
(steht ganz unten)

ne ahnung warum das nicht klappt ? sollte doch eigentlich.jedenfalls klingt
der code für mich plausibel.
__________________
!!! www.verblitzt.de !!!
_Max_ ist offline   Mit Zitat antworten
Alt 30-04-2006, 12:46   #4 (permalink)
Flashworker
 
Benutzerbild von sebastian
 
Registriert seit: Nov 2001
Ort: Wiesbaden
Beiträge: 10.945
Wo ist total (und p) definiert?

loadMovie erwartet im übrigen als zweiten Parameter keine Tiefe.
sebastian ist offline   Mit Zitat antworten
Alt 30-04-2006, 13:23   #5 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
PHP-Code:
function loadXML(loaded) {
    if (
loaded) {
        
image = [];
        var 
punkte this.firstChild.childNodes.length;
        for (
i=0i<punktei++) {
            
image[i] = this.firstChild.childNodes[i].attributes.bilder;
        }
        
firstImage();
    }
}
xmlData = new XML();
xmlData.ignoreWhite true;
xmlData.onLoad loadXML;
xmlData.load("bilder.xml");
/////////////////////////////////////
0;
function 
firstImage() {
    
holder.loadMovie(image[0]);
}
function 
nextImage() {
    if (
p<(punkte-1)) {
        
p++;
        
holder.loadMovie(image[p]);
    }
}
btn.onRelease = function() {
    
nextImage();
}; 
habs jetzt so gemacht.hatte vorher nen paar fehler drin.aber komischerweise
gehts so auch nicht.
__________________
!!! www.verblitzt.de !!!
_Max_ ist offline   Mit Zitat antworten
Alt 30-04-2006, 13:27   #6 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Tag!

Nimm mal das "var" vor punkte weg.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 01-05-2006, 00:18   #7 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
danke euch beiden für die super hilfe !
__________________
!!! www.verblitzt.de !!!
_Max_ ist offline   Mit Zitat antworten
Alt 01-05-2006, 07:02   #8 (permalink)
Flashworker
 
Benutzerbild von sebastian
 
Registriert seit: Nov 2001
Ort: Wiesbaden
Beiträge: 10.945
Kein Prob und viel Spaß damit

(Das var musstest du übrigens wegnehmen, weil die Variable sonst nur innerhalb der Funktion verfügbar ist)
sebastian ist offline   Mit Zitat antworten
Alt 02-05-2006, 15:28   #9 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
Zitat:
Zitat von Sebastian W.
Kein Prob und viel Spaß damit

(Das var musstest du übrigens wegnehmen, weil die Variable sonst nur innerhalb der Funktion verfügbar ist)
sollte ich mir merken,wusste ich nicht !

hab aber schon wieder ein kleines problem....

hab jetzt folgenden code :

PHP-Code:
function loadXML(loaded) {
    if (
loaded) {
        
image = [];
        
punkte this.firstChild.childNodes.length;
        for (
i=0i<punktei++) {
            
image[i] = this.firstChild.childNodes[i].attributes.bilder;
        }
        
firstImage();
    }
}
xmlData = new XML();
xmlData.ignoreWhite true;
xmlData.onLoad loadXML;
xmlData.load("bilder.xml");
/////////////////////////////////////
0;
function 
firstImage() {
    
bilder image[0];
    
holder.attachMovie('picture_holder''picture_holder'+11);
    
t.holder.loadMovie(bilder);
}
function 
nextImage() {
    if (
p<(punkte-1)) {
        
p++;
        
bilder image[p];
        
holder.attachMovie('picture_holder''picture_holder'+11);
        
t.holder.loadMovie(bilder);
    } else {
        
0;
        
bilder image[p];
        
holder.attachMovie('picture_holder''picture_holder'+11);
        
t.holder.loadMovie(bilder);
    }
}
btn.onRelease = function() {
    
nextImage();
}; 
jetzt wird ein movie attached in dem dann das bild aus der xml ist.in diesem
movieclip habe ich jetzt eine animation.einmal die start und ende animation.
wenn ich den clip jetzt attache spielt er sofort die start animation vom mc,
das ist auch richtig.wenn ich dann aber auf den switch button klicke und ein
bild weiter möchte,dann soll er bevor er das 2. bild lädt,erst die ende
animation spielen.

hab da jetzt nen paar sachen ausprobiert,aber wirklichen klappen tuts nicht

damit ich auch ein wenig dazu steuer :

ich muss ja eigentlich nur irgendwie sagen,dass der mc erst abgepsielt werden muss,sprich erst die animation ab
schlüsselbild 11 und dann kanns weiter gehen...aber das will irgendwie net in mein köpfchen rein gehen.
__________________
!!! www.verblitzt.de !!!

Geändert von _Max_ (02-05-2006 um 15:36 Uhr)
_Max_ ist offline   Mit Zitat antworten
Alt 02-05-2006, 15:49   #10 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!

Von Frame 11 bis Ende? Mal als Ansatz:
PHP-Code:
function nextImage() {
    
p<(punkte-1) ? p++ : 0;
    
holder.gotoAndPlay(11);
    
holder.onEnterFrame = function() {
        if (
this._currentframe == this._totalframes) {
            
this.picture_holder1.loadMovie(image[p]);
            
delete this.onEnterFrame;
        }
    };

__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 02-05-2006, 15:54   #11 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
ich hab die datei mal angehangen !
Angehängte Dateien
Dateityp: rar bilder_switch2.rar (4,8 KB, 3x aufgerufen)
__________________
!!! www.verblitzt.de !!!
_Max_ ist offline   Mit Zitat antworten
Alt 02-05-2006, 16:05   #12 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Was für ein Durcheinander. Der MC auf der Bühne heißt "holder" dann heißt der im attachten MC auch holder... also ich weiß ja nicht.
Sowas baut man übrigens eigentlich mal anders auf - und falls du das online stellen willst, brauchst du wohl auch noch einen Preloader für die Bilder, denn sonst startet die Ani schon, obwohl das Foto noch gar nicht geladen ist.
PHP-Code:
function nextImage() {
    
p<(punkte-1) ? ++0;
    
holder.picture_holder1.onEnterFrame = function() {
        
this.nextFrame();
        if (
this._currentframe == this._totalframes) {
            
this.holder.loadMovie(image[p]);
            
delete this.onEnterFrame;
        }
    };

__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 02-05-2006, 16:10   #13 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
wie würde man denn sowas normalerweise aufbauen ?
das mit dem preloader usw. kommt alles,ich bau mir solche sachen immer
stück für stück auf.

aber als aussenstehender hat man nicht immer so den durchblick,bei meinen
sachen besonders net

danke dir
__________________
!!! www.verblitzt.de !!!
_Max_ ist offline   Mit Zitat antworten
Alt 02-05-2006, 16:34   #14 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Naja, "normalerweise" faded man ein Bild über ActionScript und nicht durch einen Tween.
Übrigens wäre es so (wenn schon Tween) vielleicht besser für's Ausfaden:
PHP-Code:
function nextImage() { 
if(!
holder.picture_holder1.onEnterFrame){
    
p<(punkte-1) ? ++0
    
holder.picture_holder1.onEnterFrame = function() { 
        
this.prevFrame(); 
        if (
this._currentframe <= 1) { 
            
this.holder.loadMovie(image[p]); 
            
delete this.onEnterFrame
        } }
    }; 

...und dann halt die Bilder ab Frame 10 raus.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 02-05-2006, 16:36   #15 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
achso.
das mit dem faden war nur ein test.normalerweise kommt da ne komplexere
animation rein.das gesamte teil war eigentlich nur zum üben. ich mach mir
immer solche dateien,damit ich dann später einfach nur paar sachen ändern
muss und schon bin ich fertig.

mfg und nochmals danke.
__________________
!!! www.verblitzt.de !!!
_Max_ 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 18:54 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele