Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 31-12-2007, 12:43   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2002
Beiträge: 17
Problem mit zufälligem Bildernachladen

Hi Zusammen,

ich habe aus diversen Codes ein kleines Skript zusammengebaut welches Bilder aus einem Folder zufällig nachlädt, ein und ausblendet. Das Skript liegt in einem Container in meinem Hauptfilm. Es funktioniert eigentlich auch wunderbar. Mein Problem ist nur, es bricht manchmal zufälligerweise und willkürlich ab. Leider gibt es keine Fehlermeldung.

Da ich mehr Designer und weniger Programmierer bin, würde ich mich freuen wenn jemand die Zeit findet es sich mal anzusehen. Eventuell ist es ja ein ganz einfaches Problem...

VG Bayz

PHP-Code:
var tl this;
var 
fadespeed 4;
var 
bildanzahl 55;
_global.old_conti;
zahl int(Math.random()*55)
_global.ct zahl;
function 
reload_x() {
    
clearInterval(SID);
    
tl.createEmptyMovieClip("container"+ct,ct+10);
    
tl["container"+ct].loadMovie("images/skyscraper"+ct+".jpg");
    
tl["container"+ct]._alpha 0;
    
this.loader_funk = function() {
        if (
tl["container"+ct].getBytesLoaded()>=4) {
            
gesamt tl["container"+ct].getBytesTotal();
            
bereits tl["container"+ct].getBytesLoaded();
            
prozent Math.ceil((bereits/gesamt)*100);
            if (
prozent>=100) {
                
tl["container"+ct]._alpha += fadespeed;
                
old_conti._alpha -= fadespeed;
                if (
tl["container"+ct]._alpha>=100 && old_conti._alpha<=0) {
                    
old_conti.unloadMovie();
                    
_global.old_conti tl["container"+ct];
                    
clearInterval(loadID);
                    
_global.ct++;
                    
ct int(Math.random()*54)
                    
SID setInterval(reload_x15000);
                }
                if (
ct == (bildanzahl+1)) {
                    
_global.ct 1;
                }
            }
        }
    };
    
loadID setInterval(loader_funk40);
}
reload_x(); 
BayzBenzon ist offline   Mit Zitat antworten
Alt 31-12-2007, 12:52   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Evtl. kaputte Bilder? Oder Probier mal hier
PHP-Code:
if (tl["container"+ct].getBytesLoaded()>=4) { 
den Wert zu erhöhen z.B. >= 20 oder so...
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 31-12-2007, 13:28   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2002
Beiträge: 17
hey...vielen dank für deine antwort.

nein, die bilder sind alle einwandfrei und das erhöhen des wertes auf 20 hat leider auch nichts gebracht

help
BayzBenzon ist offline   Mit Zitat antworten
Alt 31-12-2007, 15:51   #4 (permalink)
Neuer User
 
Registriert seit: Nov 2002
Beiträge: 17
ich bin echt am verzweifeln...lese jede variable aus und komme einfach nicht drauf... kann keinen zusammenhang erkennen...bricht wirklich völlig willkürlich ab? wer kann helfen?
BayzBenzon ist offline   Mit Zitat antworten
Alt 31-12-2007, 16:06   #5 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Könnte dir nur das hier anbieten:

Galerie mit fliessenden Übergängen Preloaden?

Das funktioniert soweit ich weiß. Musst du halt leicht anpassen.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 01-01-2008, 12:51   #6 (permalink)
Neuer User
 
Registriert seit: Nov 2002
Beiträge: 17
mmmh...damit komme ich leider nicht weiter? kommt dir in meinem skript irgendwas merkwürdig vor?

ich verstehe diese willkürlichen abbrüche nach ein paar minuten einfach nicht...
BayzBenzon ist offline   Mit Zitat antworten
Alt 01-01-2008, 16:49   #7 (permalink)
Neuer User
 
Registriert seit: Nov 2002
Beiträge: 17
ich habe rausgefunden dass wenn ich diese zeile hier

PHP-Code:
ct int(Math.random()*54
rauslasse es fehlerfrei funktioniert. das problem ist dann nur dass ich zwar einen zufälligen einstieg in die 55 bilder habe, sie sich aber ansonsten regelmässig wiederholen. kann ich an dieser stelle irgendwie anders agieren?
BayzBenzon ist offline   Mit Zitat antworten
Alt 01-01-2008, 16:58   #8 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Was ich gerade sehe, versuch mal
PHP-Code:
//_global.ct++; <--- Das hier raus...
_global.ct int(Math.random()*54// <--- ...und hier ein _global davor.
// 
Das
PHP-Code:
if (ct == (bildanzahl+1)) { 
                    
_global.ct 1
                } 
kannst du dir auch ganz schenken.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 01-01-2008, 17:28   #9 (permalink)
Neuer User
 
Registriert seit: Nov 2002
Beiträge: 17
Hey, vielen Dank! Du bist echt ein verdammter Vollprofi

Das mit dem .global klang so logisch... habe das Skript wie folgt angepasst, aber trotzdem steigt er doch wieder aus

PHP-Code:
var tl this;
var 
fadespeed 4;
var 
bildanzahl 55;
_global.old_conti;
zahl int(Math.random()*55)
_global.ct zahl;
function 
reload_x() {
    
clearInterval(SID);
    
tl.createEmptyMovieClip("container"+ct,ct+10);
    
tl["container"+ct].loadMovie("images/skyscraper"+ct+".jpg");
    
tl["container"+ct]._alpha 0;
    
this.loader_funk = function() {
        if (
tl["container"+ct].getBytesLoaded()>=4) {
            
gesamt tl["container"+ct].getBytesTotal();
            
bereits tl["container"+ct].getBytesLoaded();
            
prozent Math.ceil((bereits/gesamt)*100);
            if (
prozent>=100) {
                
tl["container"+ct]._alpha += fadespeed;
                
old_conti._alpha -= fadespeed;
                if (
tl["container"+ct]._alpha>=100 && old_conti._alpha<=0) {
                    
old_conti.unloadMovie();
                    
_global.old_conti tl["container"+ct];
                    
clearInterval(loadID);
                    
_global.ct int(Math.random()*55)
                    
SID setInterval(reload_x500);
                }
            }
        }
    };
    
loadID setInterval(loader_funk40);
}
reload_x(); 
BayzBenzon ist offline   Mit Zitat antworten
Alt 02-01-2008, 11:19   #10 (permalink)
Neuer User
 
Registriert seit: Nov 2002
Beiträge: 17
ich bin so hart am verzweifeln...hat niemand noch ne idee?
BayzBenzon ist offline   Mit Zitat antworten
Alt 02-01-2008, 13:00   #11 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Kann mir jetzt doch denken, woran es liegt: Wenn für ct der selbe Wert rauskommt, den ct schon hat, dürfte es krachen. Also mal sowas probieren:
PHP-Code:
var temp ct
_global
.ct int(Math.random()*55)
while (
ct == temp)
{
_global.ct int(Math.random()*55)

Oder die Bilder in ein Array schmeißen und das mischen. Ginge auch...
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 02-01-2008, 15:49   #12 (permalink)
Neuer User
 
Registriert seit: Nov 2002
Beiträge: 17
@Der Frage:

Du bist einfach genial...vielen Dank! Aber natürlich...das ist es! So logisch, aber trotzdem bin ich da nicht drauf gekommen...


Daaaaaaaaaaankkkkkkkkkkkke
BayzBenzon ist offline   Mit Zitat antworten
Alt 02-01-2008, 15:52   #13 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Zitat:
Zitat von BayzBenzon Beitrag anzeigen
So logisch, aber trotzdem bin ich da nicht drauf gekommen...
...ging mir ja genau so .
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager 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 02:32 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele