Jag laddar in en bild dynamiskt och vill att när bilden är inladdad gå till nästa scen. Hur löser man detta, hur kan man göra ett loader script till detta.
bild.loadMovie("http://www.site.com/bilder/big/"+pict1);
this.onEnterFrame = function()
{
l = bild.getBytesLoaded();
t = bild.getBytesTotal();
if(l == t && t > 4)
{
delete this.onEnterFrame;
nextScene();
}
}
Tänk bara på att om du la in filmklippet "bild" manuellt på scenen medans du redigerar filmen och inte via skript så kommer bilden att försvinna när du byter scen.
Jag har mc bild på nästa scen och bilden finns i detta mc när jag kommer dit så den försvann ej. Om jag vill skapa mc dynamiskt inan jag laddar in hur gör jag då, vill även sätta mc position x y
Av någon anledning kan man inte sätta x och y position m.m. direkt i funktionsanropet när man använder createEmptyMovieClip vilket man kan när man använder attachMovie för att infoga ett filmklipp från biblioteket eller duplicateMovieClip för att "kopiera" en befintlig filmklippsinstans.
För att visa progress i ett textfällt:
this.onEnterFrame = function()
{
l = bild.getBytesLoaded();
t = bild.getBytesTotal();
[b]progress_txt.text = Math.round(100 * (l / t)) + "%" [/b]
if(l == t && t > 4)
{
delete this.onEnterFrame;
nextScene();
}
}
Där progress_txt är instansnamn och sökväg till det textfällt där antalet laddade procent skall visas.
Jag la in textfältet i mitt mc bild och ändrade sökvägen till textfältet men jag kan inte se preloader siffrorna i textfältet?
Jag vill alltså ha min preloader synlig tills bilden kommer, när bilden kommer så tar den väll över och då tänkte jag att textfältet inte skulle synas.
Kan man ha ett dynamiskt textfält på en mask? Har inte det nu men ställer frågan nu direkt.
Min kod:
bild.loadMovie("http://www.site.com/bilder/big/"+pict1);
this.onEnterFrame = function()
{
l = bild.getBytesLoaded();
t = bild.getBytesTotal();
_root.bild.progress_txt.text = Math.round(100 * (l / t)) + "%"
Du kan inte ha textfältet i filmklippet "bild". När du anropar bild.loadMovie så "rensas" filmklippet på sitt innehåll. Så textfältet försvinner. Så antingen placerar du textfältet i ett filmklipp som du döljer/tar bort när inladdningen är färdig eller så låter du den ligga på tidslinjen och helt enkelt tar bort den med hjälp av keyframes...
Du kan ha ett dynamiskt textfällt i en mask. För att det skall fungera måste du bädda in typsnittet. Så här gör du för att bädda in typsnittet:
Markera textfältet och öppna properties panelen.
1.) Klicka på knappen "Character...".
2.) Välj vilka tecken och/eller teckengrupper du vill bädda in. Svenska å, ä och ö finns med i teckengruppen "Latin I".
3.) Klicka [OK]
Tänk på att flash hanterar olika format (fet, kursiv och/eller fetkursiv) som separata typsnitt så om du skall använda någon av dessa så måste även de bäddas in. Antingen genom att placera textfällt "off-stage" som använder ett av formaten du vill bädda in (Glöm inte att utföra ovanstående steg för att bädda in typsnittet även på dessa textfällt). Eller så anger du att texfältet skall rendera texten som HTML och infogar ett tecken med de formateringar du vill använda.
Notera också att när du bäddar in ett typsnitt så sparas varje tecken i typsnittet som en symbol. Därför växer filstorleken med varje inbäddat tecken. Så det gäller att göra en avvägning mellan tillgängliga tecken och filstorlek.