Avatar billede fireburn Nybegynder
25. marts 2004 - 10:50 Der er 13 kommentarer

loadMovie - Hvorfor virker det ikke ordentligt

Jeg har i en Flash Movie loadet en .SWF ind, lad os kalde den oldMovie.swf

Når så senere brugeren trykker på en knap, skal newMovie.swf loades ind i det samme movieclip og erstatte det eksisterende..

Problemet opstår når jeg skal hente referencen fra det nye objekt, så returnerer den for det gamle.. Jeg skal bruge _url, _width og _height, men den fatter ikke jeg vil have dem for det ny-indlæste movieclip !! Her er koden:

_root._root[_root.tempArray[0]].fig.onEnterFrame = function() {
    trace("newURL: " + _root._root[_root.tempArray[0]].fig._url)
}

_root._root[_root.tempArray[0]].fig.loadMovie("newMovie.swf");


Problemet er altså: den trace der er  i onEnterFrame'n returnerer oldMovie.swf istedet for newMovie.swf !!!

Hvad filan gør jeg ??

Rigtigt svar belønnes med 100 point for det er VIRKELIG noget jeg har knoklet med længe...
Avatar billede kragekjaer Praktikant
25. marts 2004 - 10:57 #1
hvorfor har du _root._root?
Avatar billede fireburn Nybegynder
25. marts 2004 - 11:05 #2
kragekjaer - ligemeget.. det kunne se sådan her ud og give samme resultat:
_root.fig.onEnterFrame = function() {
    trace("newURL: " + _root.fig._url)
}

_root.fig.loadMovie("newMovie.swf");
Avatar billede kragekjaer Praktikant
25. marts 2004 - 11:12 #3
Nåh ja, det er fordi fig mister sine variable  nrå du loader en film ind i den
Avatar billede kragekjaer Praktikant
25. marts 2004 - 11:14 #4
Dette er en metode som hjælper dig:

_root.fic.createEmptyMovieClip("holder",1);
_root.fig.onEnterFrame = function() {
    trace("newURL: " + _root.fig._url)
}
_root.fig.loadMovie("newMovie.swf");
Avatar billede kragekjaer Praktikant
25. marts 2004 - 11:15 #5
fic=fig
Avatar billede kragekjaer Praktikant
25. marts 2004 - 11:15 #6
pis...
_root.fig.holder.loadMovie("newMovie.swf");
Avatar billede fireburn Nybegynder
25. marts 2004 - 11:15 #7
problemet er jo netop de ikke bliver opdaterede..

_root.fig.loadMovie("oldMovie.swf");
_root.fig._url er nu "oldMovie.swf"


nu kører jeg så følgende kode:

_root.fig.onEnterFrame = function() {
    trace("newURL: " + _root.fig._url)
}

_root.fig.loadMovie("newMovie.swf");


MEN... _root.fig._url er stadig "oldMovie.swf"

det er der problemet ligger...
Avatar billede kragekjaer Praktikant
25. marts 2004 - 11:16 #8
i din newMovie, skriver du så _parent._url=dinvariable
Avatar billede fireburn Nybegynder
25. marts 2004 - 11:22 #9
tak for forsøget kragekjaer men desværre er det ikke det der er problemet... det er ligesom om at Flash vil have en venteperiode før den fatter det er newMovie.swf og ikke oldMovie.swf, selvom den kaster onEnterFrame event...

Ved godt det er svært at forstå mit problem.. det er nemlig ret svært at forklare :)
Avatar billede kragekjaer Praktikant
25. marts 2004 - 11:26 #10
Hvor har du defineret _url?
Avatar billede fireburn Nybegynder
25. marts 2004 - 11:28 #11
det har jeg ikke.. det er en standard variabel som ligger i Flash..

myMovieClip._url

virker ligesom f.eks. myMovieClip._width og myMovieClip._x...
Avatar billede barklund Nybegynder
25. marts 2004 - 13:32 #12
kragekjaer var lidt inde på det rigtige.

Kan det ikke passe, at din onEnterFrame kører et stykke tid for derefter at stoppe? Den når måske kun at køre en gang før den stopper?

Det skyldes, at når den nye film loades ind i fig, så slettes alle variabler i fig. Dermed slettes onEnterFrame funktionen også. Derfor er du nødt til at have en onEnterFrame et andet sted, som kan køre efter filmen er loaded:

_root.onEnterFrame = function() {
    trace("newURL: " + this.fig._url)
}
_root.fig.loadMovie("newMovie.swf");

Det skulle meget gerne virke. Måske du i de første enterframe's modtager oldMovie.swf, men derefter skulle det meget gerne være newMovie.swf...

// Morten Barklund
Avatar billede barklund Nybegynder
23. maj 2004 - 16:35 #13
Husk at lukke :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester