Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-02-2007, 15:25   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 14
das leidliche Thema Preloader

Hey Leutz,

es geht wieder mal um das Thema Preloader.
Erstmal der Code.

Code:
this.precom_mc._visible = true;
this.onEnterFrame = function() 
{
	b = Math.round(this.piccon_mc.getBytesLoaded()/this.piccon_mc.getBytesTotal()*100);
	this.precom_mc.prebar_mc._xscale = b;
	trace(b);
	if (b>=100) 
	{
	this.createEmptyMovieClip("piccon_mc", this.getNextHighestDepth);
	this.piccon_mc.loadMovie("Pic1.jpg");
	this.piccon_mc._xscale = 10;
	this.piccon_mc._yscale = 10;
	this.precom_mc._visible = false;
	delete this.onEnterFrame
	}
};
Nun zum Problem.
sobald ich in der if-Schleife "delete this.onEnterFrame" verwende
funktioniert der Perloader nicht mehr.
Der Ladebalken funktioniert nicht mehr und das Bild wird nach
erfolgreichem laden auch nicht mehr angezeigt.

Es sieht so aus als würde Flash die if-Schleife ignorieren und die Befehle
vorzeitig abarbeiten.

Da ganze sollte ganz einfach funktionieren:
- wenn Bild nicht geladen, soll Preloader laufen
- wenn Bild geladen, soll Preloader verschwinden und Bild angezeigt werden

Eigentlich ganz simpel und trotzdem funktioniert es nicht.
__________________
Nobody is perfect. Es gibt viel zu tun also packen wir es an.
Tjen2003 ist offline   Mit Zitat antworten
Alt 16-02-2007, 15:35   #2 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.136
Du sagst doch selbst in einem Preloader mit
ActionScript:
  1. if (b>=100) {
  2.     this.createEmptyMovieClip("piccon_mc", this.getNextHighestDepth);
  3.     this.piccon_mc.loadMovie("Pic1.jpg");
  4.     this.piccon_mc._xscale = 10;
  5.     this.piccon_mc._yscale = 10;
  6.     this.precom_mc._visible = false; // <- Hier
  7.     delete this.onEnterFrame
  8. }
Wenn das Bild geladen, mache den COntainer nicht sichtbar.
Omega Psi ist offline   Mit Zitat antworten
Alt 16-02-2007, 16:35   #3 (permalink)
class public{}
 
Benutzerbild von public
 
Registriert seit: Feb 2004
Ort: dessau
Beiträge: 1.406
loadMovie und createEmptyMovieClip haben ja in diesem falle och nix iner filmschleife [onEnterFrame] zu suchen
public ist offline   Mit Zitat antworten
Alt 16-02-2007, 16:37   #4 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Zitat:
Zitat von public Beitrag anzeigen
loadMovie und createEmptyMovieClip haben ja in diesem falle och nix iner filmschleife [onEnterFrame] zu suchen
In diesem Fall macht es aber doch keine Probleme, da es nicht mehr als einmal ausgeführt wird.

Komisch ist nur das er den Ladestatus abfragt und wenn dieser 100 ergibt will er erst den Inhalt Laden.
Das musst du andersrum machen, oder verstehe ich den Code falsch?
__________________
ERROR: Signature is too large

Geändert von rendner[i] (16-02-2007 um 16:39 Uhr)
rendner[i] ist offline   Mit Zitat antworten
Alt 16-02-2007, 17:17   #5 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 14
joa scho... aber

ihr habt so gesehen schon recht, aber der Preloader-Balken
ist die ganze Zeit nicht zu sehen, sobald ich diesen Befehl benutze.

Wie bereits erwähnt, ich habe so das Gefühl das die Schleife ignoriert wird
und die Befehle zu früh abgearbeitet wird.

Nochmal als Erklärung.
Das delete onEnterFrame wird sofort ausgeführt und nicht erst wenn
der Perloader vollgeladen ist.
Genauso der Perloaderbalken erst sofort unsichtbar und nicht erst wenn
er durchgeladen ist.
__________________
Nobody is perfect. Es gibt viel zu tun also packen wir es an.
Tjen2003 ist offline   Mit Zitat antworten
Alt 16-02-2007, 17:22   #6 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hat doch rendner[i] schon gesagt. Dein Preloader ist so ziemlicher Blödsinn...
Mal etwas umsortiert:
PHP-Code:
this.precom_mc._visible true;
this.createEmptyMovieClip("piccon_mc"this.getNextHighestDepth);
this.piccon_mc.loadMovie("Pic1.jpg");
this.onEnterFrame = function() {
    
Math.floor(this.piccon_mc.getBytesLoaded()/this.piccon_mc.getBytesTotal()*100);
    
this.precom_mc.prebar_mc._xscale b;
    
trace(b);
    if (
b>=100 && this.piccon_mc._width>0) {
        
this.piccon_mc._xscale 10;
        
this.piccon_mc._yscale 10;
        
this.precom_mc._visible false;
        
delete this.onEnterFrame;
    }
}; 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 16-02-2007, 17:28   #7 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 14
ok ok

erstmal danke für die Blumen

jetzt funktioniert es. Gut, dass mit dem laodMovie und dem createEmptyMovieClip verstehe ich, aber warum muss
sowohl die Variable "b" abragen als auch die piccon_mc._width.
Das leuchtet mir noch nicht so ganz ein.

Ansonsten danke ich in schärfster Form.
__________________
Nobody is perfect. Es gibt viel zu tun also packen wir es an.
Tjen2003 ist offline   Mit Zitat antworten
Alt 17-02-2007, 10:44   #8 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Ach, hier war doch nix böse gemeint .
Das mit dem piccon_mc._width könnte man sich evtl. auch schenken. Ist halt eine zusätzliche Sicherheit, da für "b" auch NaN oder ganz am Anfang 100 rauskommen kann.
Also im Prinzip besser eine Abfrage zu viel als eine zu wenig...
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 17-02-2007, 11:36   #9 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 14
roger that

Alles klar, dann weiss ich jetzt bescheid. Funktioniert alles prächtig.
Vielen Dank für die Hilfe.

Gruß
__________________
Nobody is perfect. Es gibt viel zu tun also packen wir es an.
Tjen2003 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 03:25 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele