Start en Flash fil på et bestemt Frame count
Hej!
Hvis man eksempelvis har en Flash fil ( a la et topbanner) med 12 billeder som vises en efter en og derefter looper og starter forfra, kan man så på en eller anden måde bestemme, at Flash´en skal starte ved billed 1 på side 1, billed 5 på side 2 og billed 9 på side 3?
Jeg gætter på noget med frame count, men er lidt lost. Jeg vil nødig skulle lave 3 Flash filer med samme indhold, men bare forskudt en 1/3 af billed forløbet for hver side.
Preisler
- log ind eller opret konto for at skrive kommentarer


Kommentarer
Hej.
Nu er jeg ikke helt med på hvordan dit top-banner fungerer. Det lader til at du kan nøjes med at justerer hvor du befinder dig på tidslinjen. Hvis du gerne vil vide hvor på tidslinjen du er så kan du benytte:
Prøv at giv en lidt mere detaljeret beskrivelse evt.
Hej!
Burde have nævnt, at det er en swf fil som køres fra html.
Preisler
Hvis ikke swf'en er lavet til input, så kan du ikke uden videre kommunikerer til swf'en og slet ikke gennem html.
Ellers skal hele dynamikken laves i fla. filen.
Hvis du har brug for hjælp med "jobbet" kan du skrive til mig personligt.
Fra din html side kan du sende parametre til flash filen, når du embedder swf filen i html.
Søg på Google efter FlashVars!
Hvis du bruger AS3 kan du læse dine flashVars sådan:
var mineFlashVars:Object = this.root.loaderInfo.parameters;Objectet "parameters" indeholder alle flashvars fra html siden.
Hvis du bruger AC_FL_RunContent til at embedde din swf kunne det sådan ud, hvis du fx ville have, at swf filen skal starte på frame 3:
AC_FL_RunContent(
'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0',
'width', '550',
'height', '400',
'src', 'flashVarsTest',
'quality', 'high',
'pluginspage', 'http://www.adobe.com/go/getflashplayer',
'align', 'middle',
'play', 'true',
'loop', 'true',
'scale', 'showall',
'wmode', 'window',
'devicefont', 'false',
'id', 'flashVarsTest',
'bgcolor', '#ffffff',
'name', 'flashVarsTest',
'menu', 'true',
'allowFullScreen', 'false',
'allowScriptAccess','sameDomain',
'movie', 'flashVarsTest',
'salign', '',
'flashVars','startFrame=3'
); //end AC code
Det har du selvfølgelig ret i PeterF. Jeg tænkte det som at koden skulle være html, for så når du ikke langt.
@PeterF
Super - det vil jeg prøve.
Preisler
Hej
Nu har jeg siddet og "bøvlet" med FlasVars, men kan ikke få det til at virke
Det hænger dog nok sammen med at det er 3 år siden at jeg har siddet med Flash sidst
Er der en sød sjæl, der vil skærer det ud i pap for mig hvordan koden i AS skal se ud?
Testfil her:
Testflash her:
...og som PeterF skriver, så bruger jeg AC_FL_RunContent til at styrer/kører swf filen.
Preisler
OK.
Jeg vil beskrive hvordan du gør i AS3. Det er anderledes i AS2.
Bagefter skal html filen ændres, så den tilføjer en variabl flash kan bruge, som vi kalder startFrame
I dit link til rar fil, findes Test.fla. Her skal du ændre Publish Settings (SHIFT+CTRL+F12) -> Flash, så det er Action Script 3 i stedet for AS2!
Så skal du oprette et nyt layer i din timeline og eventuelt kalde det AS3.
Ryk alle tweens så det første starter på frame 2.
Du skal skrive to stumper AS3 kode. Nemlig på første og sidste frame.
På den første frame i AS3 layer, kan du skrive følgende kode:
På den sidste frame i din timeline på AS3 layer, skal du oprette endnu en blank keyframe og tilføje denne kode:
gotoAndPlay(2);Publicer herefter flash filen.
HTML filen skal rettes. flashvars skal tilføjes de steder hvor html filen embedder swf filen.
Dvs. i javascriptet og to steder under noScript delen.
I dette eksempel rykkes til frame 345, hvor din eksempel fil viser billede nummer 2.
Håber det hjælper.
Hej PeterF!
Det er jo skåret så meget ud i pap at det er helt pineligt
...men det virker perfekt, så jeg takker og bukker!
Preisler
... og her er resultatet.
Tak for hjælpen
Preisler