Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-12-2005, 14:40   #1 (permalink)
..
 
Benutzerbild von delucs
 
Registriert seit: Dec 2001
Ort: Berlin
Beiträge: 78
Bilder in Position laden?

Hallo,

ich wuerde gerne eine serie von bildern von einem externen ordner in ein swf laden...

die bilder sollten immer rechtsbuendig und in der mitte(bezgl hoehe), liegen...auf pfeil weiter druecken, nextes bild kommt.Wie?

kann mir jemand einen tip geben....

(besser mit creatEmpty... oder in einen existierenden MC laden?)

danke

L.
delucs ist offline   Mit Zitat antworten
Alt 13-12-2005, 16:59   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Dynamisches Nachladen ist immer besser... Also mit createEmptyMovieClip einen leeren MC erzeugen, in diesen leeren MC mit loadMovie ein Bild nachladen, einen Preloader setzen, der das Laden überwacht und wenn das Bild geladen ist, die Positionswerte des MCs entsprechend der Größe anpassen.
  Mit Zitat antworten
Alt 13-12-2005, 17:08   #3 (permalink)
..
 
Benutzerbild von delucs
 
Registriert seit: Dec 2001
Ort: Berlin
Beiträge: 78
Vielen Dank,

also ich kreier einen emptyMC....das klappt...wie kannich aber >

1. die groesse des geladenen bildes abfragen?
2. auf einer schaltflache dem bild sagen er sol "Bild_01.jpg" und dann Bild_02.jpg usw nachladen.
3. beim preloader bini echt total ueberfordert.

Danke

L.
delucs ist offline   Mit Zitat antworten
Alt 13-12-2005, 17:16   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Tag!
Benutz mal die Flashforum-Suche. Preloader gibt's hier unzählige und die sind ja genau dazu gut, um die Größe des Bildes (bzw. den Ladestatus) abzufragen. Damit sollten sich Frage 1 und 3 erledigen. Wahrscheinlich sogar Frage 2 gleich noch mit.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 13-12-2005, 17:22   #5 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Die Größe des MCs, in den das Bild geladen wird, kannst du nach erfolgreichem Nachladen (Preloader) über dessen _width- und _height-Eigenschaften auslesen.

Schaltflächen und Preloader:
PHP-Code:
this.meineSchaltflächenInstanz.onRelease = function(){//nach Klicken und Loslassen der Maustaste...
   
_level0.createEmptyMovieClip("con",1);
   
_level0.con.loadMovie("meinBild.jpg");
   
   
//dann mit einem Preloader checken, ob das Bild nachgeladen wurde
   
_level0.onEnterFrame = function(){
      var 
fin int(_level0.con.getBytesLoaded()*100/_level0.con.getBytesTotal());//Prozentwerte berechnen
      
if(fin >= 100 && _level0.con._width && _level0.con._height>0) {//wenn alles geladen wurde...
         
delete this.onEnterFrame;//dann den Event wieder löschen
         
var breite _level0.con._width;//Breite und Höhe ermitteln
         
var hoehe _level0.con._height;
         
//dann die gewünschte Neupositionierung über _level0.con._x und _y
      
}
        
   }

  Mit Zitat antworten
Alt 13-12-2005, 17:30   #6 (permalink)
..
 
Benutzerbild von delucs
 
Registriert seit: Dec 2001
Ort: Berlin
Beiträge: 78
1000 Dank!

L.
delucs ist offline   Mit Zitat antworten
Alt 14-12-2005, 08:53   #7 (permalink)
..
 
Benutzerbild von delucs
 
Registriert seit: Dec 2001
Ort: Berlin
Beiträge: 78
also.....

hab das jetzt folgender massen gemacht:

stop();
weiter.onRelease = function() {
_root.createEmptyMovieClip("Bild", 1);
_root.Bild.loadMovie("../IMG/Klimahaus/klimahaus_2.jpg");
_root.onEnterFrame = function() {
a = _root.getBytesTotal();
b = _root.getBytesLoaded();
var proz = Math.round(a/b*100);
if (proz>=100) {
_root.Bild._x = 500 -Bild._width/2;
_root.Bild._y = 210 -Bild._height/2;
delete this.onEnterFrame;

}
}
}


funktioniert....nur manchmal laedt das bild auf der ecke oben rechts des MC (schaltflaeche) "weiter"

komisch oder?

danke L.
delucs ist offline   Mit Zitat antworten
Alt 14-12-2005, 09:04   #8 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Du solltest den onEnterFrame-Event sofort nach Erfüllen der if-Bedingung beenden, sonst werden die Befehle vor dem delete evtl. mehrfach ausgeführt. Außerdem würde ich immer wie von mir vorgeschlagen auch checken, ob der MC eine width und height hat, es kann sonst passieren, dass bei Überprüfung zwar alles nachgeladen wurde, der MC selbst aber noch keine Größen hat.
  Mit Zitat antworten
Alt 14-12-2005, 09:45   #9 (permalink)
..
 
Benutzerbild von delucs
 
Registriert seit: Dec 2001
Ort: Berlin
Beiträge: 78
danke holger,

es war der check ob der MC einw width und height groesse hat

aber jetzt hab ich folgendes problem....

er laedt die bilder rein...perfekt...

aber ich hab jetzt ein back button reingesetzt und hmhm...wirr warr....hast du vielleicht hier auch ein tip?

danke

PHP-Code:
stop();
dd 1;
back._visible false;
weiter.onRelease = function() {
    
back._visible true;
    
_root.createEmptyMovieClip("Bild"1);
    
_root.Bild.loadMovie("../IMG/Klimahaus/klimahaus_"+dd+".jpg");
    
_root.onEnterFrame = function() {
        
_root.getBytesTotal();
         
_root.getBytesLoaded();
        var 
proz Math.round(a/b*100);
        if (
proz>=100 && _root.Bild._width && _root.Bild._height>) {
        
_root.Bild._x 500 -Bild._width/2;
        
_root.Bild._y 210 -Bild._height/2;
        
dd += 1;
        if(
dd>=3){
            
weiter._visible false;
        }
        
delete this.onEnterFrame;
         }
    }
}

back.onRelease = function() {
    
dd -= 1;
    
_root.createEmptyMovieClip("Bild"1);
    
_root.Bild.loadMovie("../IMG/Klimahaus/klimahaus_"+dd+".jpg");
    
_root.onEnterFrame = function() {
    
_root.getBytesTotal();
     
_root.getBytesLoaded();
    var 
proz Math.round(a/b*100);
     if (
proz>=100 && _root.Bild._width && _root.Bild._height>) {
        
_root.Bild._x 500 -Bild._width/2;
        
_root.Bild._y 210 -Bild._height/2;
        
delete this.onEnterFrame;
        
        if(
dd<=1){
            
back._visible false;
        }
         
    }
    }

delucs ist offline   Mit Zitat antworten
Alt 14-12-2005, 12:31   #10 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Soviel gleichlautenden Code solltest du zwecks Wiederverwendung in Funktionsblöcke legen, z.B.:
PHP-Code:
dd 0;

function 
bildladen(dd){
   
_root.createEmptyMovieClip("Bild"1);
    
_root.Bild.loadMovie("../IMG/Klimahaus/klimahaus_"+dd+".jpg");
    
_root.onEnterFrame = function() {
        
_root.getBytesTotal();
         
_root.getBytesLoaded();
        var 
proz Math.round(a/b*100);
        if (
proz>=100 && _root.Bild._width && _root.Bild._height>) {
            
delete this.onEnterFrame;
            
_root.Bild._x 500 -Bild._width/2;
            
_root.Bild._y 210 -Bild._height/2;
        } 
    }
}

weiter.onRelease = function() {
  
_level0.dd ++;//evtl. noch weiter einschränken, z.B. nie größer als 3 etc
  
if(_level0.dd 3){
     
_level0.bildladen(dd);
  }
}
back.onRelease = function() {
  
_level0.dd --;
  if(
_level0.dd >=1){
     
_level0.bildladen(dd);
  }

Und welche MCs schaltest du mit visible=true/false auf sichtbar/unsichtbar?
  Mit Zitat antworten
Alt 14-12-2005, 12:44   #11 (permalink)
..
 
Benutzerbild von delucs
 
Registriert seit: Dec 2001
Ort: Berlin
Beiträge: 78
hei holger,

vielen dank....muss das jetzt langsam durchgehen....

mit visible...schalt ich die Schaltflachen MCs ein und aus....

also sobald die galerie am ende ist geht der weiter butten nicht mehr und umgekehrt.

L
delucs ist offline   Mit Zitat antworten
Alt 14-12-2005, 15:46   #12 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
also sobald die galerie am ende ist geht der weiter butten nicht mehr und umgekehrt.
Ich dachte, das war so gewollt... Wenn nichts mehr zu laden ist, sollte man das dem Anwender auch irgendwie zu verstehen geben. Du kannst aber selbstverständlich wie im Script erwähnt die "dd"-Variable anpassen, z.B. auf 0 setzen, wenn der Weiterbutton am Ende angekommen ist etc. und damit eine Art Endlosschleife erstellen.
  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:48 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele