• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-03-2010, 12:22   #1 (permalink)
Ein Alter User
 
Benutzerbild von jotti
 
Registriert seit: Mar 2004
Ort: Österreich
Beiträge: 159
Slideshow

Hallo !

Ich versuche Bilder über Flash zu laden und dann per Zufall und mit einem Überlendeffekt anzeigen zu lassen. Das ganze sollte mit einem Timer ablaufen.

Wer kann mir helfen?

PHP-Code:
var bildanzahl=17;
var 
1;
var 
speed 2;
var 
abstand 0;
var 
bilderListe = new Array();
laden();
var 
aktuell 0;
var 
aktuellneu:Number;
// Laden
function laden() {
    if (
i<=a) {
        var 
bild this.createEmptyMovieClip('pic'+ii);
        
bild.loadMovie(""+i+'.jpg'0);
        
bilderListe.push(bild);
        
bild._alpha 00;
        
trace(bild);
        
bild.onPress trace(this);
        
this.loader.onEnterFrame = function() {
            
// Geladene und zu ladenede Bytetes abfragen
            
geladen bild.getBytesLoaded();
            
zuladen bild.getBytesTotal();
            
// Sicherheitsabfrage, da ein leerer MC so ungefähr
            // 4 bis 5 Bytes hat und zu Verfälschungen führen könnte
            
if (geladen>=10) {
                
trace(bild+" Größer als 10 "+geladen);
                
// Ladeanzeige sichtbar machen
                
this.loader._visible true;
                
// Berechnung der bereits geladenen Prozent
                
prozent Math.round(geladen/zuladen*100);
                
// Ausgabe im dynamischen Textfeld "prozentanzeige"
                
this.prozentanzeige.text prozent+" Prozent geladen";
                
// Skalierung des Balkens anhand der Prozentzahl
                
this.balken._xscale prozent;
                
// Wenn komplett geladen
                
ausgabe.text "Bild "+i+" von "+a;
                if (
prozent>=100) {
                    
// den EnterFrame-Event löschen um Performance zu sparen
                    // die Ladeanzeige wieder unsichtbar machen
                    
this.loader._visible false;
                    
delete this.onEnterFrame;
                    
i++;
                    
laden();
                }
            }
        };
    } else {
        
trace("Alle Bilder geladen.");
        
pos();
    }
}
function 
pos() {
    var 
lk random(a);
    
trace(lk);
    
aktuellneu aktuell;
    
trace("Positioniere");
    
bilderListe[0]._x 0;
    var 
bild bilderListe[lk];
    
bild._alpha 0;
    
blenden();
    
trace("DAS ALTE "+aktuell);
    
aktuell bild;
    
trace("DAS AKTUELLE "+aktuell);
    
aktuell._root.getNextHighestDepths();
}
function 
blenden() {
    
trace("ALARM");
    
trace(aktuell);
    
onEnterFrame = function () {
        
5;
        
aktuell._alpha += v;
        
trace("ALFA "+aktuell._alpha+aktuell);
        if (
aktuell._alpha>=100) {
            
trace("AKTUELLNEU "+aktuellneu);
            
delete onEnterFrame;
        }
    };
}
var 
intervalId:Number;
var 
Startbeginn:Number 1;
var 
wiederholunganzahl:Number 5000;
var 
geschwindikeit:Number 9000;
function 
executeCallback():Void {
    
trace("executeCallback intervalId: "+intervalId+" Startbeginn: "+Startbeginn);
    
pos();
    if (
Startbeginn>=wiederholunganzahl) {
        
clearInterval(intervalId);
    }
    
Startbeginn++;
}
intervalId setInterval(this"executeCallback"geschwindikeit);
/*
function positioniere() {
trace("Positionieren");
trace(bilderListe[0]);
bilderListe[0]._x = 0;
bilderListe[0]._alpha = 100;
bilderListe[0].vorgaenger = bilderListe[bilderListe.length-1];
for (var i = 1; i<bilderListe.length; i++) {
var bild = bilderListe[i];
bild._alpha = 100;
var vorgaenger = bilderListe[i-1];
bild._x = vorgaenger._x+vorgaenger._width+abstand;
bild.vorgaenger = vorgaenger;
}
trace("Bilder sind in Position.");
bewege();
}
function bewege() {
trace("Bewegen");
for (var i = 0; i<bilderListe.length; i++) {
bilderListe[i].onEnterFrame = function() {
this._x -= speed;
if (this._x<=-(500)) {
this._x = this.vorgaenger._x+this.vorgaenger._width+abstand;
}
};
}
}
*/ 
Thx Jotti

Geändert von jotti (08-03-2010 um 21:37 Uhr)
jotti ist offline   Mit Zitat antworten
Alt 08-03-2010, 13:24   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Was genau ist denn das Problem?
  Mit Zitat antworten
Alt 08-03-2010, 14:16   #3 (permalink)
Ein Alter User
 
Benutzerbild von jotti
 
Registriert seit: Mar 2004
Ort: Österreich
Beiträge: 159
Aw

Hallo Holger!

Ich versuche ein Bild an die oberste Ebene zu bringen.
Irgendwie spreche ich es verkehrt an.
bild.getNextHighestDepth()(""+intervalId+'.jpg', 0);
oder sollte ich
bild+(""+intervalId+'.jpg', 0).getNextHighestDepth();

Das Bilder laden funktioniert noch.

Was mir fehlt ist ein zufälliges Bild und dann eine Überblendung.
Das zufällige Bild würde ich mit random (a) noch hinbekommen.
Nur wann und wie sollte ich das bild ansprechen.

Thx Jotti


Thx Jotti

Geändert von jotti (08-03-2010 um 14:20 Uhr)
jotti ist offline   Mit Zitat antworten
Alt 08-03-2010, 17:41   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
bilderListe[i].onEnterFrame = function() {
this.getNextHighestDepth();
};
Da verstehe ich den Sinn nicht... Kontinuierlich die nächsthöhere mögliche Tiefe ermitteln? Wozu? Das kann man auch ohne Event bspw. mit einem createEmptyMovieClip verbinden.

Wenn du die Tiefe eines MCs wechseln willst, benötigst du einen swapDepths(), bspw.:
PHP-Code:
pic1.swapDepths(_root.getNextHighestDepths());//pic1 auf die nächsthöhere mögliche Tiefe der Hauptzeitleiste verschieben 
  Mit Zitat antworten
Alt 08-03-2010, 21:32   #5 (permalink)
Ein Alter User
 
Benutzerbild von jotti
 
Registriert seit: Mar 2004
Ort: Österreich
Beiträge: 159
Aw

Hallo!

Ich habe noch etwas rumprobiert und bin schon fast fertig.

Erklärung was ich möchte

Schritt 1: Zuerst sollte Flash ein Zufallsbid laden
Schritt 2 : Dann nach ca 4 sec sollte ein neus zufälliges Bild geladen werden und langsam eingeblendet werden. Dann wieder Schritt 2
Das ganze sollte endlos lange dauern.


PHP-Code:
var bildanzahl=17;
var 
1;
var 
bilderListe = new Array();
laden();
var 
aktuell 0;
var 
aktuellneu:Number;
// Laden
function laden() {
    if (
i<=a) {
        var 
bild this.createEmptyMovieClip('pic'+ii);
        
bild.loadMovie(""+i+'.jpg'0);
        
bilderListe.push(bild);
        
bild._alpha 00;
        
trace(bild);
        
bild.onPress trace(this);
        
this.loader.onEnterFrame = function() {
            
// Geladene und zu ladenede Bytetes abfragen
            
geladen bild.getBytesLoaded();
            
zuladen bild.getBytesTotal();
            
// Sicherheitsabfrage, da ein leerer MC so ungefähr
            // 4 bis 5 Bytes hat und zu Verfälschungen führen könnte
            
if (geladen>=10) {
                
trace(bild+" Größer als 10 "+geladen);
                
// Ladeanzeige sichtbar machen
                
this.loader._visible true;
                
// Berechnung der bereits geladenen Prozent
                
prozent Math.round(geladen/zuladen*100);
                
// Ausgabe im dynamischen Textfeld "prozentanzeige"
                
this.prozentanzeige.text prozent+" Prozent geladen";
                
// Skalierung des Balkens anhand der Prozentzahl
                
this.balken._xscale prozent;
                
// Wenn komplett geladen
                
ausgabe.text "Bild "+i+" von "+a;
                if (
prozent>=100) {
                    
// den EnterFrame-Event löschen um Performance zu sparen
                    // die Ladeanzeige wieder unsichtbar machen
                    
this.loader._visible false;
                    
delete this.onEnterFrame;
                    
i++;
                    
laden();
                }
            }
        };
    } else {
        
trace("Alle Bilder geladen.");
        
pos();
    }
}
function 
pos() {
    var 
lk random(a);
    
trace(lk);
    
aktuellneu aktuell;
    
trace("Positioniere");
    
bilderListe[0]._x 0;
    var 
bild bilderListe[lk];
    
bild._alpha 0;
    
blenden();
    
trace("DAS ALTE "+aktuell);
    
aktuell bild;
    
trace("DAS AKTUELLE "+aktuell);
    
aktuell._root.getNextHighestDepths();
}
function 
blenden() {
    
trace("ALARM");
    
trace(aktuell);
    
onEnterFrame = function () {
        
5;
        
aktuell._alpha += v;
        
trace("ALFA "+aktuell._alpha+aktuell);
        if (
aktuell._alpha>=100) {
            
trace("AKTUELLNEU "+aktuellneu);
            
delete onEnterFrame;
        }
    };
}
var 
intervalId:Number;
var 
Startbeginn:Number 1;
var 
wiederholunganzahl:Number 5000;
var 
geschwindikeit:Number 9000;
function 
executeCallback():Void {
    
trace("executeCallback intervalId: "+intervalId+" Startbeginn: "+Startbeginn);
    
pos();
    if (
Startbeginn>=wiederholunganzahl) {
        
clearInterval(intervalId);
    }
    
Startbeginn++;
}
intervalId setInterval(this"executeCallback"geschwindikeit); 

Das ganze funktioniert auch schon wenn die Zufallszahl höher war als irgendeine davor.

Zb.: Bild 5 und dann Bild 8 funktioniert.
zb.: Bild 15 und dann Bild 6 funktioniert nicht da Bild 15 über Bild 6 Liegt.

Wie kann ich das Ändern?


THX Jotti

Geändert von jotti (08-03-2010 um 21:34 Uhr)
jotti ist offline   Mit Zitat antworten
Alt 08-03-2010, 23:59   #6 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Wie kann ich das Ändern?
Nur einen leeren MC erstellen und in diesen das jeweilige Bild laden...
  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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
SlideShow in AS3 <ok> ActionScript 3 7 25-10-2007 18:58
Slideshow doris0411 Flash Einsteiger 6 10-02-2006 19:51
Slideshow holidate Flash 4 und Flash 5 2 19-05-2004 20:34


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:35 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele