Toon posts:

[Flash 2004 MX] LoadmovieNum coordinaten

Pagina: 1
Acties:
  • 312 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik wil een movie laden in een swf, maar heb geen toegang tot de .fla van deze movie. Dit is in principe geen probleem, alleen voor het positioneren van deze movie loop ik tegen een probleem aan. Ik heb de volgende action gebruikt;

loadMovieNum("file.swf",3);
loadinterval=setInterval(loadfunction,100);

function loadfunction(){
if (_level3.getBytesLoaded()>=_level3.getBytesTotal()) {
clearInterval(loadinterval);
_level3._x = 0;
_level3._y = 130;
}
}
stop()

Het probleem is dat de movie 9 van de 10 keer goed gepositioneerd wordt, maar soms laadt hij op 0,0 coordinaten. Heeft iemand een betere action voor deze situatie. Ik heb dus geen toegang tot de .fla van de te laden movie.

Alvast bedankt

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 25-03 10:55

XangadiX

trepanatie is zóó kinderachtig

jij wil een dikke loadvars class hebben :)

http://livedocs.macromedi...X_2004&file=00001408.html :7

ik ben echt niet wakker, ik bedoelde de moviecliploader: http://livedocs.macromedi...X_2004&file=00001577.html

[ Voor 37% gewijzigd door XangadiX op 14-07-2005 20:25 ]

Stoer; Marduq


Verwijderd

Topicstarter
Bedankt voor de link, maar dat voorbeeld krijg ik niet aan de praat. Jij klinkt als een echte actionscripter, zou je mij een helder voorbeeld kunnen geven dat wel werkt, want niemand op de Macromedia site krijgt dat voorbeeld werkend.

Thanks

  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
wacht een frame nadat je denkt dat deze echt binnen is -> mijn eigen loader wacht 2 frames 'Just in case' kan zijn dat de fla die je laat vanalle AS heeft en component en dan heb je minstens 1 frame nodig voordat alles 'OK' is...

en getBytesLoaded en total durven af en toe ook te liegen (+- 4 bytes :) )

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 25-03 10:55

XangadiX

trepanatie is zóó kinderachtig

dat is onzin, die 4 bytes is de grootte van een lege placer en dat is niet liegen; als er niks in een placer zit is hij 4 bytes.

meestal is de fout die gemaakt wordt bij loaders dat mensen daar geen rekening mee houden en schrijven

if (getbytesLoaded() == getbytesTotal()) { //statement }

Maar als er nog niks geladen is dan is bytesTotal even 4b (namelijk de grootte van de placer) en getbytesloaded ook. De regel luidt dus:

if (getbytesLoaded() == getbytesTotal() and getbytesTotal() > 4) { // statements }

maar eigenlijk is dat allemaal offtopic.

Wat jij doet is een movie inladen in level3 en terwijl je hem inlaad wil je hem verplaatsen. Omdat er op level 3 nog niks hoeft te zijn op het moment dat de code wordt uitgevoert gebeurt er niet zoveel.

Wat je beter kunt doen is een lege movieclip maken en niet in een level werken dus in je loadfunctie:

1 createEmptyMovieClip ("placer")

2 placer.loadMovie("movie.swf")

(3) placer._x; placer._y)

4 if (bytesLoaded == bytesTotal and bytesTotal > 4)

//statements

stap 3 mag je natuurlijk ook na stap 4 doen, maar dan loop je het risico dat hij verspringt.

Met mijn vorige post wilde ik er op wijzen dat loadmovie vervangen is door een object dat moviecliploader heet en wat je veel meer flexibiliteit geeft om met je geladen objecten om te springen, en mensen krijgen dat best wel aan de gang:

Flash MX 2004, externe movie met preloader laden
[rml][ mx2004] MovieClipLoader werkt niet (bij mij)[/rml]
etc etc:
http://gathering.tweakers...=XF13---A&select_forum=13

en voorts is er nog een leuk artikeltje van mijn hand over preloaden van objecten: [rml]XangadiX in "[ Flash] Post je flash stuff maar weer - ..."[/rml]

Stoer; Marduq