Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-09-2006, 11:57   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 14
Preloader: Soll nach Verwendung verschwinden

Hallöchen alle miteinander,

ich weiß das Thema Preloader wurde schon min. 100000000 durchgekaut, aber irgendwie finde ich nicht das Richtige für mein Problem. Deswegen hoffe ich Ihr helft mir trotzdem.

Also, ich versuche mich in AS einzuarbeiten und habe einen Preloader nur auf AS-Basis geschrieben.

Problem: Der Preloader funktioniert wunderbar, nur wenn er dann nach erfolgreichem Laden auf den zweiten Frame springt, ist der Preloader trotzdem noch da. Hier mal der Code

Code:
stop();

_root.createEmptyMovieClip("preloader_mc", 0);
preloader_mc._x = 325;
preloader_mc._y = 265;

var info_frm:TextFormat = new TextFormat();
info_frm.font = "Arial Black";
info_frm.size = 14;
info_frm.leading = 3;

var data_frm:TextFormat = new TextFormat();
data_frm.font = "Arial Black";
data_frm.size = 14;
data_frm.leading = 3;
data_frm.align = "right";



onEnterFrame = function() {
	preloader_mc.createTextField("data_txt", 1, 0, 0, 50, 70);
	preloader_mc.data_txt.text = Math.round(_root.getBytesTotal()/1024)+"\n"+Math.round(_root.getBytesLoaded()/1024)+"\n"+Math.round(_root.getBytesLoaded()/_root.getBytesTotal()*100);
	preloader_mc.data_txt.selectable = false;
	
	preloader_mc.createTextField("info_txt", 2, 55, 0, 100, 70);
	preloader_mc.info_txt.text = "KB total\nKB loaded\n%";
	preloader_mc.info_txt.selectable = false;
	
	preloader_mc.data_txt.setTextFormat(data_frm);
	preloader_mc.info_txt.setTextFormat(info_frm);
	
	this.createEmptyMovieClip("prebar_mc", 3);
	prebar_mc.beginFill(0x0099ff);
	prebar_mc.lineStyle(2, 0x000000);
	prebar_mc.moveTo(0, 0);
	prebar_mc.lineTo(200, 0);
	prebar_mc.lineTo(200, 10);
	prebar_mc.lineTo(0, 10);
	prebar_mc.lineTo(0, 0);
	prebar_mc._x = 300;
	prebar_mc._y = 340;
	prebar_mc.endFill();
	
	prebar_mc._xscale = (_root.getBytesLoaded()/_root.getBytesTotal()*100);
	
	
};

if (_root.bytesLoaded>=_root.bytesTotal) {
		_root.nextFrame();
		_root.preloader_mc.visible = false; //genau das hier funktioniert irgendwie nicht
		delete preloader_mc.onEnterFrame;
	}
Über eure Hilfe wäre ich sehr dankbar.

Grüße

Tjen K.
Tjen2003 ist offline   Mit Zitat antworten
Alt 18-09-2006, 12:00   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hi!
Da fehlt ein Underline vo visible:
PHP-Code:
_root.preloader_mc._visible false
Aber klopp doch den ganzen MC weg:
PHP-Code:
_root.preloader_mc.removeMovieClip(); 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 18-09-2006, 12:16   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 14
Vielen Dank

Danke Der Frager auf dich ist eben immer verlass
Tjen2003 ist offline   Mit Zitat antworten
Alt 18-09-2006, 12:23   #4 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 14
Zu früh gefreut

Verdammt, jetzt verwende ich den removeMovieClip() Befehl und jetzt fehlt der Preloader_mc von anfang an, warum macht er das er steht doch in einer If-Schleife. Ich bitte nochmal vielmals um Hilfe

if (_root.bytesLoaded>=_root.bytesTotal) {
_root.nextFrame();
_root.preloader_mc.removeMovieClip();
_root.prebar_mc.removeMovieClip()
delete preloader_mc.onEnterFrame;
}

Geändert von Tjen2003 (18-09-2006 um 12:24 Uhr)
Tjen2003 ist offline   Mit Zitat antworten
Alt 18-09-2006, 12:29   #5 (permalink)
Flashbitch
 
Benutzerbild von X-Tender
 
Registriert seit: Oct 2003
Ort: Hannover
Beiträge: 279
lass dir die byteslodaded undd bytestotal in dem if bracket ausgeben ..
__________________
Fuchtelworld
X-Tender ist offline   Mit Zitat antworten
Alt 18-09-2006, 12:29   #6 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hehe, gibt ja auch nicht _root.bytesTotal bzw. _root.bytesLoaded...
PHP-Code:
if (_root.getBytesLoaded()>=_root.getBytesTotal()) { 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 18-09-2006, 12:37   #7 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 14
ähm um ehrlich zu sein gibt die beiden Befehle schon, zumidest laut Flash
aber auch wenn ich get davor setze kommt das selbe Ergebniss. Damit ich euch mit diesem Thema jetzt nicht zu lange auf die Nerven gehe schicke ich jetzt mal die Fla mit.

Leider musste ich wegen der Dateigrößenbegrezung das Bild entfernen.
Angehängte Dateien
Dateityp: rar AS_Tes3t.rar (4,2 KB, 1x aufgerufen)
Tjen2003 ist offline   Mit Zitat antworten
Alt 18-09-2006, 12:40   #8 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Zitat:
Zitat von Tjen2003 Beitrag anzeigen
...aber auch wenn ich get davor setze kommt das selbe Ergebniss...
Wie wäre es noch mit den Klammern dahinter?

Und bytesLoaded bzw. bytesTotal gibt's schon (z.B. bei NetStream) aber eben nicht so, wie du es anwenden wolltest.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 18-09-2006, 12:44   #9 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 14
ok ok, bevor ich hier jetzt alle Wahnsinnig mache mit immer mehr Kleinigkeiten.
MIT Klammern MIT dem get davor und MIT richtiger Schreibweise funktioniert es. Ich danke für Hilfe in schärfster vorm und bevor ich das nächste mal poste überprüfe ich mein Script besser. Ich versprech es. Vielen Dank nochmal

So stimmt der Code jetzt. Authoren: Der Fragen und Tjen2003

Code:
stop();
_root.createEmptyMovieClip("preloader_mc", 0);
preloader_mc._x = 325;
preloader_mc._y = 265;

var info_frm:TextFormat = new TextFormat();
info_frm.font = "Arial Black";
info_frm.size = 14;
info_frm.leading = 3;

var data_frm:TextFormat = new TextFormat();
data_frm.font = "Arial Black";
data_frm.size = 14;
data_frm.leading = 3;
data_frm.align = "right";

this.createEmptyMovieClip("prebar_mc", 3);
prebar_mc.beginFill(0x0099ff);
prebar_mc.lineStyle(2, 0x000000);
prebar_mc.moveTo(0, 0);
prebar_mc.lineTo(200, 0);
prebar_mc.lineTo(200, 10);
prebar_mc.lineTo(0, 10);
prebar_mc.lineTo(0, 0);
prebar_mc._x = 300;
prebar_mc._y = 340;
prebar_mc.endFill();

onEnterFrame = function () {
	preloader_mc.createTextField("data_txt", 1, 0, 0, 50, 70);
	preloader_mc.data_txt.text = Math.round(_root.getBytesTotal()/1024)+"\n"+Math.round(_root.getBytesLoaded()/1024)+"\n"+Math.round(_root.getBytesLoaded()/_root.getBytesTotal()*100);
	preloader_mc.data_txt.selectable = false;
	preloader_mc.createTextField("info_txt", 2, 55, 0, 100, 70);
	preloader_mc.info_txt.text = "KB total\nKB loaded\n%";
	preloader_mc.info_txt.selectable = false;
	preloader_mc.data_txt.setTextFormat(data_frm);
	preloader_mc.info_txt.setTextFormat(info_frm);
	
	prebar_mc._xscale = (_root.getBytesLoaded()/_root.getBytesTotal()*100);
};
if (_root.getBytesLoaded()>=_root.getBytesTotal()) {
	_root.nextFrame();
	_root.preloader_mc.removeMovieClip();
	_root.prebar_mc.removeMovieClip();
	delete preloader_mc.onEnterFrame;
}

Geändert von Tjen2003 (18-09-2006 um 12:53 Uhr)
Tjen2003 ist offline   Mit Zitat antworten
Alt 18-09-2006, 12:59   #10 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Das soll gehen? Die if-Abfrage steht nämlich außerhalb des onEnterFrames .
PHP-Code:
stop();
var 
_root.createEmptyMovieClip("preloader_mc"0);
p.createTextField("data_txt"1005070);
p.createTextField("info_txt"255010070);
p.createEmptyMovieClip("prebar_mc"3);
p.prebar_mc.beginFill(0x0099ff);
p.prebar_mc.lineStyle(20x000000);
p.prebar_mc.moveTo(00);
p.prebar_mc.lineTo(2000);
p.prebar_mc.lineTo(20010);
p.prebar_mc.lineTo(010);
p.prebar_mc.lineTo(00);
p.prebar_mc.endFill();
p.prebar_mc._y 70;
p._x 325;
p._y 265;
//
var info_frm:TextFormat = new TextFormat();
info_frm.font "Arial Black";
info_frm.size 14;
info_frm.leading 3;
var 
data_frm:TextFormat = new TextFormat();
data_frm.font "Arial Black";
data_frm.size 14;
data_frm.leading 3;
data_frm.align "right";
//
p.data_txt.setNewTextFormat(data_frm);
p.data_txt.selectable false;
p.info_txt.setNewTextFormat(info_frm);
p.info_txt.selectable false;
//
p.onEnterFrame = function() {
    
_root.stop();
    
this.data_txt.text Math.round(_root.getBytesTotal()/1024)+"\n"+Math.round(_root.getBytesLoaded()/1024)+"\n"+Math.round(_root.getBytesLoaded()/_root.getBytesTotal()*100);
    
this.info_txt.text "KB total\nKB loaded\n%";
    
this.prebar_mc._xscale = (_root.getBytesLoaded()/_root.getBytesTotal()*100);
    if (
_root.getBytesLoaded()>=_root.getBytesTotal()) {
        
this.removeMovieClip();
        
_root.nextFrame();
    }
}; 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++

Geändert von Der Frager (18-09-2006 um 13:01 Uhr)
Der Frager ist offline   Mit Zitat antworten
Alt 18-09-2006, 13:02   #11 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 14
Lol Der Frager du machst mich echt fertig Lol
aber scheinbar funktioniert beides. Bei mir geht es auch wenn die If-Schleife außerhalb steht.

Denoch scheint deine Lösung die bessere zu sein und deswegen werde ich auch diese bevorzugen

Somit hätten wir auch dieses Problem gelöst. Ein hoch auf den Frager. Vielleicht solltest du deinen Namen von
Der Frager auf Der Antworter ändern.
__________________
Nobody is perfect. Es gibt viel zu tun also packen wir es an.

Geändert von Tjen2003 (18-09-2006 um 13:05 Uhr)
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:49 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele