Här skapar vi ett movieClip, ger det en position och laddar in en extern film i det movieClipet. När jag kör den här funktionen fungerar det fint, den skapar det tomma movieClipet, ger det rätt instancename, men den kör inte nästa funktion > moveInClip. Varför inte?
Det är inget fel på den andra funktionen, testar jag den på något existerande movieClip fungerar det utsökt. Kan det vara något fel på eval()?
Problemet är att filmen du laddar in inte hinner ladda. Så vitt jag vet så körs inte loadMovie skript förrens allt annat skript körts redan. Så du kan tidigast anropa funktionen i nästa bildruta.
Oftast brukar man i sådana här fall antingen lägga funktionsanropet i den inladdade filmens första bildruta eller något sådant. Eller så använder man sig av en sk. "extern preloader" som först kollar att filmen laddat in innan funktionen anopas.
Men om funktionen moveInClip() är definerad i det inladdade filmklippet så måste den ju laddas in först eftersom annars hittar flash inte igen den och helt enkelt skippar den.
// definera variabeln tmp.
var tmp = null;
// ... kapat lite kod ........
// Skapar ett nytt filmklipp som jag skall använda för att
// "preload:a" filmklippet med funktionen. variabeln "tmp" tilldelas
// samtidigt en referens till filmklippet.
tmp = _root.createEmptyMovieClip(mc + "_Preloader", 10000 + count);
// Skapar en referens i preloader clipet som pekar på det filmklipp som den skall göra en preload på:
tmp.targetClip = _root.getCurrClip;
// onEnterFrame är en händelse som "avfyras" före varje bildruta:
tmp.onEnterFrame = function()
{
// Stoppa antalet laddade och totala bytes
// för det filmklipp som vi gör preload på i
// i variabelerna l och t.
var l = this.targetClip.getBytesLoaded();
var t = this.targetClip.getBytesTotal();
// Kollar om filmklippet laddat klart.
if(l == t && t > 4)
{
// Anropar metoden moveInClip.
_root.getCurrClip.moveInClip();
// ta bort denna preloader då den
// inte behövs längre.
this.removeMovieClip();
}
}
}
/Mirandir
139 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe