Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-02-2004, 11:58   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2004
Beiträge: 13
getProperty von loadMovie-Problem

Hallo Leute,

folgendes Problem: mit loadMovie lade ich Bilder in leere MCs. Im nächsten Frame hole ich mir mit getProperty die Höhe jedes MCs, um den Abstand zwischen den einzelnen Filmen mit setProperty setzen zu können. Funktioniert lokal ohne Probleme.

Sobald die ganze Geschichte online geht, überlagern sich die MCs - sprich: es fehlt genau der Abstand, der mit get und set eingestellt werden sollte...

Vielen Dank
exedo ist offline   Mit Zitat antworten
Alt 16-02-2004, 12:05   #2 (permalink)
Neuer User
 
Registriert seit: Feb 2004
Beiträge: 13
So sieht die entsprechende Passage im Code aus:

ActionScript:
  1. for(var i=1;i<=20;i++){
  2.     if(_root.mc_holder["mc"+i]._height > 75 || _root.mc_holder["mc"+(i-1)]._height > 75 ) {
  3.         spacing = spacing + getProperty("_root.mc_holder.mc" + (i-1), _height) + pix_separate1;
  4.     }
  5.     else { 
  6.         spacing = spacing + getProperty("_root.mc_holder.mc" + (i-1), _height) + pix_separate2;
  7.     }
  8.         setProperty("_root.mc_holder.mc" + i, _y, _y + spacing);
  9.    
  10.     if(_root.mc_holder["mc"+i]._width < 75) {
  11.         _root.mc_holder["mc"+i]._x +=10;
  12.     }
  13. }
exedo ist offline   Mit Zitat antworten
Alt 16-02-2004, 21:26   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2001
Ort: Köln
Beiträge: 106
Hier liegt das Problem nicht im Ermitteln der Properties, sondern im Laden der Clips. Gerade deshalb macht sich das auch erst online bemerkbar - da braucht das eben seine Zeit. Zum einen muss man testen, ob die Teile geladen worden sind. Und dann muss man ihnen noch einen Framewechsel gönnen, um sich auf der Bühne darzustellen.
Du brauchst also einen vernünftigen Ladechecker. Unter MX ist das mit JPGs leider nicht mit getBytesLoaded()/getBytesTotal() zu machen, weil der einem bei JPGs die Bytes nicht angibt. Du kannst das aber lösen, indem Du deine leeren ContainerClips mit einer bestimmten _width ausstattest, die Deine JPGs mit grosser Sicherheit nicht haben. Dann kannst Du nach Start des Ladevorgangs jedes Frame überprüfen, ob sich die Breite geändert hat - wenn das der Fall ist, kannst Du davon ausgehen, dass das Bild geladen ist.

An der Stelle macht einem das neue MovieClipLoader-Objekt (MX2004) die Sache übrigesn deutlich einfacher - und durchschaubarer.
Wenn man dem Loader-Objekt Listener mitgibt, die den Ladevorgang begleiten so kann man auf die Properties eben noch nicht in myLoader.onLoadComplete zugreifen, sondern erst im nächsten Schritt in myLoader.onLoadInit. Dann geht's aber ohne Weiteres zutun ganz prima und bequem.
__________________
http://www.rumbke.de
leif ist offline   Mit Zitat antworten
Alt 16-02-2004, 21:47   #4 (permalink)
~~~~~~~~~~~~
 
Benutzerbild von _geo_
 
Registriert seit: May 2002
Ort: AUSTRIA (OÖ)
Beiträge: 3.298
ich denke, dass die überlagerungen online von der verzögerung bei laden der bilder kommt (d.h. die höhe wird ausgelsen bevor die bild da sind => geringere höhe bzw. höhe = 0)

erst mal waren bis die bilder da sind und dann eigenschaften auslesnen !

mfg geo
__________________
--- :P ---

Blog
Bei unerwünschten Nebenwirkungen zerreißen Sie die Packungsbeilage oder erschlagen ihren Arzt oder Apotheker
_geo_ ist offline   Mit Zitat antworten
Alt 16-02-2004, 23:53   #5 (permalink)
Neuer User
 
Registriert seit: Feb 2004
Beiträge: 13
Ich danke Euch. Es scheint wirklich daran zu liegen, dass die MCs bei der Ermittlung der Eigenschaften tatsächlich noch _height=0 und _width=0 haben. Einmal hat er mir heute auch tatsächlich die Hälfte der Bilder ordentlich (also mit Abstand) dargestellt: spricht also auch dafür.

@leif: danke für den Tipp mit der Größe der Container. MX2004 habe ich noch nicht probiert - werde ich mir auf jeden Fall mal ansehen.

Ich denke, mein Problem hat sich damit erledigt - vielen Dank nochmal an leif und geo.

exedo
exedo 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 14:36 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele