Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-07-2003, 17:11   #1 (permalink)
ups
 
Registriert seit: Jan 2003
Beiträge: 73
Question preload + jpg laden

moin

es soll mit flash eine textdatei ausgelesen werden mit loadVariables - geht auch.
die erste variable enthält die anzahl der bilder
die anderen die entsprechende bezeichnung der bilder
anhand der anzahl werden textfelder created und mc attached - geht auch.
so kann man das ganze ein bißchen dynamisch halten da die anzahl der
bilder unterschiedlich sein wird. (ist für mich)

wenn man auf ein punkt klickt soll das entsprechende bild
mit loadMovie geladen werden - geht auch

als zusatz wollte ich (erst einmal ein ganz normales textfeld mit variable)
in diesem textfeld ein preloader einbauen wo die bereits geladene byte zahl
des bildes angezeigt wird. damit der user weiß wann es fertig ist - geht nicht

er zeigt immer gleich 100% an aber das bild taucht erst später auf.
bin noch nicht so lange dabei und hab im forum nicht so das richtige gefunden
was weiter helfen würde...

hier einmal das script ( sicher kann man hier einiges optimieren - gerne danach )

Zitat:
// Latin-1
System.useCodePage = true;
// init der variablen
posX = 25;
posY = 70;
bildladen = 0;
// -----------------------------
function laden() {

this.onRelease = function() {

bild = this._name.charAt(5);
bild ++;
ref = "fotos/"+bild+".jpg";
txt_inhalt = gallerie[bild];
bildladen = 1;


} // ende --- onRelease
} // ende --- laden

loadVariables("fotos/liste.txt", this);

this.onData = function() {
var durchlauf = liste-1;
var e = 1; // muß bei eins anfangen wegen dem array und dem inhalt der textfelder
if (durchlauf > 1 ) {
gallerie = new Array();
for (var i=0;i<durchlauf;i++) {

gallerie[e] = this["liste"+e]; // wird erst ab position 1 gefüllt pos 0 bleibt leer !!

this.attachMovie("mc_punkt","punkt"+i,i+100);
laden.apply(this["punkt"+i]);
this["punkt"+i]._x = posX;
this["punkt"+i]._y = posY;
this["punkt"+i]._xscale = 40;
this["punkt"+i]._yscale = 40;


this.createTextField("txtfeld"+i,i+50,posX+15,posY-9,145,18);
with(this["txtfeld"+i]) {

selectable = false;
text = gallerie[e];
e ++;
} // ende --- with
posY += 20;
} // ende --- for
} // ende --- if

}
this.onEnterFrame = function() {

if (bildladen == 1) {
loadMovie(ref, _root.mc_holder);
txt_geladen = (int( (mc_holder.getBytesLoaded() ) * 100/( mc_holder.getBytesTotal() )))+"%";
bildladen = 0;

}
}



SO SIEHT DANN DIE .txt DATEI AUS
liste=8&liste1=bild1&liste2=bild2&liste3=bild3&lis te4=Dummybild4&liste5=Dummybild5&liste6=Dummybild6 &liste7=Dummybild7

hab schon verschiedene varianten ausprobiert und glaub das ich mich jetzt total verrenne.
wenn die .fla hilft kurz schreiben schick poste ich dann auch.
für eine antwort schon mal danke !
nicksen ist offline   Mit Zitat antworten
Alt 25-07-2003, 17:21   #2 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
gehts darum?
ActionScript:
  1. if (bildladen == 1) {
  2. loadMovie(ref, _root.mc_holder);
  3. txt_geladen = (int( (mc_holder.getBytesLoaded() ) * 100/( mc_holder.getBytesTotal() )))+"%";
  4. bildladen = 0;
  5.  
  6. }
  7. }

punkt1: dieser code wird nur einmal ausgeführt
damit ist es kein preload
du willst vermeiden dass es die ganze zeit läd?-sinnvoller gedanke solltest du dann so machen

ActionScript:
  1. //..
  2. if (bildladen == 1) {
  3.  loadMovie(ref, _root.mc_holder);
  4.  bildladen = 0;
  5. }
  6. txt_geladen = (int( (mc_holder.getBytesLoaded() ) * 100/( mc_holder.getBytesTotal() )))+"%";
  7. //..
  8.  
so dann ahste noch folgendes problem
is die anfrage noch garnicht raus dann hat der mc trotzdem schon eine gesamtgröße, nämlich 4bytes
also hättest du schon deine 100 prozent
(nebenbei, was stellste mit den prozenten an?wo zeigste des bild bzw blendest es aus?

um des vorzeitige "100% erreichen" zu vermeiden reicht ne abfrage ala:
ActionScript:
  1. deinContainer.getBytesTotal()>500
in deiner if-abfrage wo auch immer die sich befindet

deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 25-07-2003, 17:27   #3 (permalink)
ups
 
Registriert seit: Jan 2003
Beiträge: 73
hallo deluxe

werd ich mal testen und wegen
[Ouote]

in deiner if-abfrage wo auch immer die sich befindet

[/Ouote]

hängt unten die .fla dran


ok schon einmal danke
Angehängte Dateien
Dateityp: zip bild.zip (30,4 KB, 39x aufgerufen)
nicksen ist offline   Mit Zitat antworten
Alt 25-07-2003, 17:43   #4 (permalink)
ups
 
Registriert seit: Jan 2003
Beiträge: 73
nein das textfeld steht immer bei 100%

nichts mit preload
nicksen ist offline   Mit Zitat antworten
Alt 25-07-2003, 17:46   #5 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
steht das im enterFram event?
ActionScript:
  1. if (bildladen == 1) {
  2.         loadMovie(ref, _root.mc_holder);
  3.         bildladen = 0;
  4. }
  5. txt_geladen = (int( (mc_holder.getBytesLoaded() ) * 100/( mc_holder.getBytesTotal() )))+"%";
  6. //..
  7.  
mach nen
trace((int( (mc_holder.getBytesLoaded() ) * 100/( mc_holder.getBytesTotal() )))+"%")
noch rein dann siehste ob der überhaupt was macht

oder auch nen trace(mc_holder.getBytesLoaded())

einfach mal mit trace paar werte auf stimmigkeit überprüfen(nennt man übrigens debuggen )

deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 25-07-2003, 17:52   #6 (permalink)
ups
 
Registriert seit: Jan 2003
Beiträge: 73
mit trace zeigt er immer 100% an

Zitat:
onEnterFrame = function() {

if (bildladen == 1) {
loadMovie(ref, _root.mc_holder);

bildladen = 0;

}
txt_geladen = (int( (mc_holder.getBytesLoaded() ) * 100/( mc_holder.getBytesTotal() )))+"%";
}
steht im onEnterFrame

vielleicht mache ich ja irgendwas anderes falsch.


hmm...
weiß ja noch nicht so ganz wie flash so genau tickt . . .
nicksen ist offline   Mit Zitat antworten
Alt 25-07-2003, 19:45   #7 (permalink)
ups
 
Registriert seit: Jan 2003
Beiträge: 73
geht immer noch nicht ????

hab das sogar auf den mc_holder gelegt.
versteh flash da noch nicht.

egal was ich mache.
sobald ich das bild lade stopt das tracen und dann
zeigt er mir plötzlich die gesamt datenmenge.

sorry aber ich weiß mit meinen kenntnissen nicht weiter.
wer weiß denn hier rat ???


d-a-n-k-e
nicksen ist offline   Mit Zitat antworten
Alt 24-08-2004, 13:40   #8 (permalink)
Userin
 
Benutzerbild von baju
 
Registriert seit: Aug 2004
Beiträge: 38
gibt es hier eine lösung?

ich habe nimlich genau das gleiche problem!!!!
danke, b.
baju ist offline   Mit Zitat antworten
Alt 25-08-2004, 12:44   #9 (permalink)
Neuer User
 
Benutzerbild von bo1ng
 
Registriert seit: Jan 2004
Beiträge: 7
nur so als idee: es kann auch sein, dass der server die grösse des jpg's nicht übermittelt. mach doch testweise mal aus dem jpg ein swf (also das jpg in flash importieren und dann veröffentlichen)
bo1ng 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:20 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele