Posso usar scripts da linha do tempo em ativos SWF incorporados com o Flex SDK?
-
05-07-2019 - |
Pergunta
Incorporei um SWF em uma aula usando esta sintaxe acima da minha definição de classe:
[Embed (source='/../assets/MyMovieClips.swf', symbol='SpecialMovieClip')]
public class SpecialMovieClip extends MovieClip
O ativo do MovieClip parece ligado à minha aula bem, e instanta -se junto com ele, e é visível, mas:
- Não posso acessar instâncias colocadas no palco dentro desse clipe.
- O script da linha do tempo parece não funcional.
Esta é a desvantagem da incorporação de arquivos SWF em tempo de compilação com o Flex SDK? Então, talvez eu deva voltar a compilar com o flash IDE se eu quiser scripts da linha do tempo ou instâncias posicionadas no palco?
Solução
Se você incorporar com a tag [incorporada], todos os scripts serão retirados do seu símbolo. Mas você pode adicionar script aos quadros com movieclip.addframescript ():
função pública specialmovieclip () {
AddFramescript (4, MyFunc)
}
função privada myfunc () {
Pare()
}
Eu acho que você só pode acessar os símbolos dentro de um Movieclip com Movieclip.getChildat ()
Outras dicas
De documentos: (role para baixo para "incorporar símbolos SWF")
Se o arquivo SWF contiver qualquer código ActionScript, o Flex imprime um aviso durante a compilação e retire o ActionScript do símbolo incorporado. Isso significa que você só pode incorporar o próprio símbolo.
Dependendo do que você deseja fazer, acho que você estaria melhor incorporando todo o SWF ou carregando as coisas em tempo de execução.
Aliás, em relação a não poder acessar coisas dentro do símbolo incorporado, você garantiu que o SWF alvo seja AS3? Se você estiver incorporando (ou carregando) conteúdo AS2, a interoperabilidade será permitida apenas através da LocalConnection. Isso também é abordado na página do documento que vinculei.