Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22-02-2006, 10:33   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
wohin mit dem Script?

Hallo,
Im Script2 werden externe Bilder geladen. Den Ladevorgang möchte ich mit dem Script1 grafisch aufpeppen. Dummerweise funktioniert die Berechnung der Prozente nicht richtig. Wo/wie muss das erste Script im zweiten plaziert werden?

Script1:
PHP-Code:
prozente Math.round(b/a*100);
balken.maske._xscale prozente;
ausgabe.text "LOADING "+prozente+"%"
Script2:
PHP-Code:
stop();
balken.maske._xscale 0;
a275557;                         //entspricht der Anzahl der zu ladenden Bytes
getBytesLoaded();
_global.pfad "corporatedesign/CNimage/";
var 
anzahl 7;
var 
0;
var 
0;
function 
preload(vornach) {
    for (var 
1i<=anzahli++) {
        
mc this.createEmptyMovieClip("mc"+ii);
        
mc._alpha 0;
        
wat this.createEmptyMovieClip("watcher"+i100+i);
        
wat.mc;
        
mc.loadMovie(pfad+vor+i+nach+".jpg");
        
//trace(vor+i+nach+".jpg");
        
wat.onEnterFrame = function() {
            if (
this.t.getBytesLoaded()>=this.t.getBytesTotal() && this.t.getBytesLoaded()>10) {
                
//trace(this.t+" geladen");
                
removeMovieClip(this.t);
                
removeMovieClip(this);
                if (++
== anzahl) {
                    if (
== 0) {
                        
d++;
                        
0;
                        
preload("bild""a");
                    } else if (
== 1) {
                        
d++;
                        
0;
                        
preload("tn00""");
                    } else if (
== 2) {
                        
//trace("Alle Bilder im Cache...");
                        //trace("d ="+d+" und c ="+c);
                        
gotoAndPlay(_currentframe+1);
                    }
                }
            }
        };
    }
}
preload("bild"""); 
Danke,
Chris
*perplex* ist offline   Mit Zitat antworten
Alt 22-02-2006, 10:46   #2 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Script1 kommt in Script2 und zwar in den wat.onEnterFrame gleich auf die nächste Zeile!
btw. das Skript kommt mir bekannt vor...
PHP-Code:
wat.onEnterFrame = function() { 
            var 
this.t.getBytesLoaded();
            var 
this.t.getBytesTotal();
            
prozente Math.round(b/a*100); 
            
balken.maske._xscale prozente//Hier noch den Pfad anpassen!
            
ausgabe.text "LOADING "+prozente+"%"//DITO - Pfad!
            
if (a>=&& a>10) { 
                ... 
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 22-02-2006, 12:17   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
Zitat:
Zitat von bamboocha
das Skript kommt mir bekannt vor...
jo, hatt ich schon öfters mal gepostet

hab jetzt noch folgendes Problem mit der Ladeanzeige:
PHP-Code:
var this.t.getBytesTotal();
var 
this.t.getBytesLoaded(); 
Dieser Bestandteil des Scripts sorgt dafür, dass ich nicht einen Ladebalken für alle Bilder habe, sondern einen pro Bild. Sieht uncool aus, wenn sich der Ladevorgang (scheinbar) x-mal wiederholt.

Deshalb hatte ich ihm ja für a den festen Wert mitgegeben, stellvertretend für das PHP-Script was bei mir nicht geklappt hat (Du erinnerst Dich vielleicht noch daran). Aber mit diesem Wert hat er die Funktion nicht mehr bis zum Ende ausgeführt.

Hast Du dafür evtl. noch einen Lösungsansatz?

Besten Dank!
Chris
*perplex* ist offline   Mit Zitat antworten
Alt 22-02-2006, 12:35   #4 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
axo...!
Kein Wunder, wenn du einfach so wichtig Infos unterschlägst!
Hmmm... da müsste man nochmal über die Bücher... *hmmmm*
Das wird schwierig, da ne globale Anzeige zu basteln, da du die Bilder ja nacheinander lädst...
Das einzige, was du machen könntest ist, alle Bilder gleichzeitig zu laden und jene, die du noch nicht brauchst unsichtbar zu machen (_visible = false) oder aber aber der Bühen zu verschieben!?
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 22-02-2006, 12:41   #5 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
Hi bamboocha,

wie müsste denn der Aufruf aussehen, um alle Bilder gleichzeitig zu laden? Doch nicht etwa so:
PHP-Code:
loadMovie(pfad+"bild1.jpg");
loadMovie(pfad+"bild2.jpg");
loadMovie(pfad+"bild3.jpg");
usw
*perplex* ist offline   Mit Zitat antworten
Alt 22-02-2006, 12:50   #6 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Kommt darauf an, welche du alle laden willst...
aber grundsätzlich schon...
aber lässt sich sicherlich in ner Schleife lösen...
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 22-02-2006, 13:32   #7 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
Hi bamboocha,
ich steh momentan noch etwas auf dem Schlauch und bitte Dich deshalb nochmals um Mithilfe.
Hier ist mein Script-Ansatz. Das Ziel ist Dir ja bekannt (externe Bilder für den späteren Gebrauch in den Cache laden inkl. grafischem Ladebalken)
PHP-Code:
stop();
balken.maske._xscale 0;
//_global.pfad = "corporatedesign/CNimage/";
_global.pfad "";

var 
anzahl 7;
for (var 
1i<=anzahli++) {
        
mc this.createEmptyMovieClip("mc"+ii);
        
mc._alpha 0;
        
mc.loadMovie(pfad+"Bild"+i+".jpg");
        
mc.loadMovie(pfad+"Bild"+i+"a.jpg");
        
mc.loadMovie(pfad+"tn00"+i+".jpg");
        
getBytesTotal();
        
trace(a);
        
getBytesLoaded();
        
trace(b);
        
prozente Math.round(b/a*100);
        
balken.maske._xscale prozente;
        
ausgabe.text "LOADING "+prozente+"%";
        if (
i==7) {
            
gotoAndPlay(_currentframe+1);
        }

Gruß,
Chris
*perplex* ist offline   Mit Zitat antworten
Alt 22-02-2006, 13:51   #8 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Tag!

...was ist denn "a" nun? Im ersten Script hast du da eine feste Zahl drin stehen. Jetzt fängst du mit getBytesTotal() an? Außerdem kannst du nicht 3 Bilder in den selben mc laden - und - du musst schon mc.getBytesLoaded() benutzen, sonst fragst du die Bytes vom Hauptfilm ab.

Außerdem könntest du vor dem Laden auch alle zuladenden Bilder in ein Array schieben. Dann könntest du dir diesen "preload (vor,nach)"-Krempel auch schenken.

Wer schreib solche Scheiß-Preloader???

Ach warte, das war ja ich .
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 22-02-2006, 13:52   #9 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Probiers mal so (preloadIt wäre dann überflüssig):
PHP-Code:
stop(); 
balken.maske._xscale 0
//_global.pfad = "corporatedesign/CNimage/"; 
var pfad ""
var 
anzahl 7
var 
arrLoader = new Array();
for (var 
1i<=anzahli++) { 
        
mc this.createEmptyMovieClip("mc"+ii); 
        
mc._alpha 0;
        for(var 
14z++) {
            var 
inhalt mc.createEmptyMovieClip("inhalt"+zz);
            
arrLoader.push(inhalt);
        }
        
mc.inhalt1.loadMovie(pfad+"Bild"+i+".jpg"); 
        
mc.inhalt2.loadMovie(pfad+"Bild"+i+"a.jpg"); 
        
mc.inhalt3.loadMovie(pfad+"tn00"+i+".jpg");  
}
var 
watcher this.createEmptyMovieClip("watcher"anzahl+1);
watcher.onEnterFrame = function() {
    var 
0;
    var 
0;
    for(var 
0this._parent.arrLoader.lengthi++) {
        
+= this._parent.arrLoader.getBytesLoaded();
        
+= this._parent.arrLoader.getBytesTotal();
    }
    
prozente Math.round(b/a*100); 
    
balken.maske._xscale prozente
    
ausgabe.text "LOADING "+prozente+"%"
    if(
== && 10) {
        
trace("alles geladen!");
        
delete this.onEnterFrame;
        
this.removeMovieClip();
    }

__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 22-02-2006, 15:22   #10 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
Zitat:
Zitat von Der Frager
Wer schreib solche ******-Preloader???

Ach warte, das war ja ich .


@bamboocha,
Der bringt bei der Ausgabe immer nur NaN.
Mir fällts schwer da was zu modifizieren, da mir die Vorgehensweise unklar ist.
PHP-Code:
+= this._parent.arrLoader.getBytesLoaded(); //stimmt hier der Pfad??? 
*perplex* ist offline   Mit Zitat antworten
Alt 22-02-2006, 22:34   #11 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
ach menschenskinder...! Das i vergessen!
PHP-Code:
+= this._parent.arrLoader[i].getBytesLoaded(); //Pfad stimmt, allerdings ist n'Array halt noch keine Nummer! :D 
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 23-02-2006, 10:34   #12 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
@bamboocha
habs eingebaut aber egal was ich mache: NaN oder infinity.
Hier nochmal das ganze Script:
PHP-Code:
stop(); 
balken.maske._xscale 0
_global.pfad "corporatedesign/CNimage/";
var 
anzahl 7
var 
arrLoader = new Array();
for (var 
1i<=anzahli++) { 
        
mc this.createEmptyMovieClip("mc"+ii);
        
mc._alpha 0;
        for(var 
14z++) {
            var 
inhalt mc.createEmptyMovieClip("inhalt"+zz);
            
arrLoader.push(inhalt);
        }
        
mc.inhalt1.loadMovie(pfad+"Bild"+i+".jpg");
        
mc.inhalt2.loadMovie(pfad+"Bild"+i+"a.jpg");
        
mc.inhalt3.loadMovie(pfad+"tn00"+i+".jpg");
}
var 
watcher this.createEmptyMovieClip("watcher"anzahl+1);
watcher.onEnterFrame = function() {
    var 
0;
    var 
0;
    for(var 
0this._parent.arrLoader.lengthi++) {
        
+= this._parent.arrLoader[i].getBytesLoaded(); // vertauscht man a mit b kommt infinity
        
+= this._parent.arrLoader.getBytesTotal();     // hier hatt ich auch mal das [i] mit drin
    
}
    
prozente Math.round(b/a*100); 
    
balken.maske._xscale prozente
    
ausgabe.text "LOADING "+prozente+"%"
    if(
== && 10) {
        
trace("alles geladen!");
        
delete this.onEnterFrame;
        
this.removeMovieClip();
        
gotoAndPlay("start");
    }


Geändert von *perplex* (23-02-2006 um 10:39 Uhr)
*perplex* ist offline   Mit Zitat antworten
Alt 23-02-2006, 11:06   #13 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
das i muss bei beiden stehen! GetBytesLoaded und GetBytesTotal!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 23-02-2006, 11:15   #14 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
Zitat:
Zitat von bamboocha
das i muss bei beiden stehen! GetBytesLoaded und GetBytesTotal!
In diesem Fall bekomme ich (auch) ein infinity zurück

Gruß
Chris
*perplex* ist offline   Mit Zitat antworten
Alt 23-02-2006, 12:29   #15 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
So funktionierts bei mir!
PHP-Code:
stop(); 
balken.maske._xscale 0
_global.pfad "corporatedesign/CNimage/";
var 
anzahl 7
var 
arrLoader = new Array();
for (var 
1i<=anzahli++) { 
        
mc this.createEmptyMovieClip("mc"+ii);
        
mc._alpha 0;
        for(var 
14z++) {
            var 
inhalt mc.createEmptyMovieClip("inhalt"+zz);
            
arrLoader.push(inhalt);
        }
        
mc.inhalt1.loadMovie(pfad+"Bild"+i+".jpg");
        
mc.inhalt2.loadMovie(pfad+"Bild"+i+"a.jpg");
        
mc.inhalt3.loadMovie(pfad+"tn00"+i+".jpg");
}
var 
watcher this.createEmptyMovieClip("watcher"anzahl+1);
watcher.onEnterFrame = function() {
    var 
0;
    var 
0;
    for(var 
0this._parent.arrLoader.lengthi++) {
        
+= this._parent.arrLoader[i].getBytesLoaded(); //bei beiden das i rein!
        
+= this._parent.arrLoader[i].getBytesTotal();
    }
    
prozente Math.round(a/b*100); //und hier geladen durch Total nicht umgekehrt!
    
balken.maske._xscale prozente
    
ausgabe.text "LOADING "+prozente+"%";
    if(
== && 10) {
        
trace("alles geladen!");
        
delete this.onEnterFrame;        
        
this.removeMovieClip();
        
gotoAndPlay("start");
    }

__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha 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 13:43 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele