Jag kör Macromedias Captivate för att göra ett demo av ett program.
Denna demo (SWF-fil) vill jag spela upp i en annan Flash (vi kallar den "huvud Flash").
När demo filmen är klar vill att man kommer till ett kontaktformulär.
Försökte först att exportera Captivate filen in till Flash 8 Pro och lyckades nästan... vissa objekt följer inte med... så jag la ner det.
Då gjorde jag en SWF-fil i Captivate som jag sedan laddade in i "huvud Flashen" med hjälp av loadMovie... kanon! ...men sen kommer problemet:
Hur kan jag känna av att demo filmen är klar så att jag då kan visa kontaktformuläret???
Finns det event som gör att MovieClip objektet kan skicka en instruktion när SWF-filen kört klart? Det vore i så fall bra eftersom längden på demo filmen kan variera.
Eller finns det något smartare sätt att lösa det hela? Har jag tänkt fel?
Eftersom filmen laddas dynamiskt med loadMovie så har jag ingen Timeline för objektet. SWF-filen som jag laddar är skapat med Captivate så den kan jag inte påverka.
Jag sett att det finns två probertys för MovieClip objektet, totalframes och currentframe som kanske kan vara användbara.
Men jag måste få en triggning på något sätt att filmen är klar, att currentframe = totalframes typ... men hur?
Eller vet någon om man med Action Script kan ta fram sista Frame för ett MovieClip man skapat i runtime och sätta kod i det, framet?
Jo som jag skrev så måste filmen ha laddat klart först, eller åtminstone börjat att ladda första bildrutan innan du kan lägga på onEnterFrame eventet. Annars kommer det att raderas eller bara visa "fel".
Nu fungerar det... nästan. När jag laddar en SWF-fil som är skapad i Flash så fungerar det men när jag laddar en SWF-fil skapad av Captivate så visas bara en del av filmen.
Skumt... om jag inte deklarerar my_mc.onEnterFrame så fungerar det, det hjälper inte att bara kommentera bort trace raden. Om jag kommenterar bort kod (se nedan) så visas filmen bra.