Fornece tempo de execução ou análise de tempo de compilação e processamento de ativos SWF/SWC para uso com o Openfl. O conteúdo do SWF pode então ser usado para o design ou a animação (beta) em projetos implantados em metas de desktop, web, móveis e console nas tecnologias da Web e nativas.
O uso desta biblioteca para conteúdo de design estático possui um histórico na produção. O uso desta biblioteca para animação deve ser considerado beta e não pode ser otimizado para desempenho. As contribuições para melhorar o desempenho são bem -vindas!
Existem três caminhos de código primário na biblioteca:
O tipo "SWF" fornece análise completa do formato SWF/SWC (com base na biblioteca AS3SWF original de Claus Wahlers). Este código é otimizado principalmente para integridade e precisão, em vez de desempenho. Depois que um SWF foi totalmente analisado, ele pode ser exportado para um novo formato otimizado para o tempo de execução (Swflite, Animate) ou há uma implementação rudimentar disponível para usar o conteúdo de SWF analisado diretamente no tempo de execução. Os interessados em melhorar esse caminho de código podem estar interessados em analisar https://github.com/openfl/openfl-player como um começo para testar e melhorar o carregamento e a reprodução do SWF de tempo de execução.
Tipo "Swflite" é um formato de exportador mais antigo, anteriormente integrado ao Openfl. O código existe nesta biblioteca principalmente por razões históricas. Depois de analisar o conteúdo do SWF usando o caminho do código "SWF", um novo formato foi gerado com a ajuda do serializador Haxe. Apesar das melhorias de tamanho de arquivo e desempenho com base no formato, a dependência da serialização do Haxe teve desvantagens para a compatibilidade com versões anteriores.
Tipo "Animate" é o formato mais recente do exportador e o padrão para todos os objetivos. Ele combina os benefícios do formato "Swflite" enquanto escreve para JSON e comprimindo todos os ativos em um único arquivo zip. Pode ser melhorado, mantendo a compatibilidade com versões anteriores. O formato Macromedia SWF também tem esses benefícios, no entanto, é otimizado para um tempo de execução diferente dos modernos navegadores da web. Por exemplo, as imagens em um arquivo SWF de Macromedia podem já ter sido aplicadas alfa pré -multiplicadas a bitmaps. Não há maneira rápida de renderizar isso corretamente usando a tela HTML5. O formato Animate Library oferece uma oportunidade para pré-processar o conteúdo do SWF em um formato flexível otimizado para o uso moderno de produção.
Esta biblioteca pode ser chamada automaticamente pelas ferramentas da linha de comando Openfl /Lime para processar tags <library /> , ou pode ser usado na linha de comando para processar arquivos SWF em arquivos ZIP animados.
Primeiro, verifique se <haxelib name="swf" /> foi adicionado ao seu projeto.
Em seguida, você pode adicionar <library path="to/your.swf" preload="true" /> para incluir uma biblioteca SWF. Isso estará disponível no tempo de execução usando o nome do arquivo do SWF (menos o ".swf") ou você pode adicionar id="my-unique-id" para especificar um nome personalizado.
Existe uma opção (beta) para generate="true" para gerar classes HAXE para cada tipo de "exportação para actionScript" no arquivo SWF. A preload também é opcional, mas é recomendada para simplificar o uso.
Você pode criar um clipe de "exportação para o ActionScript" de um SWF como este:
var clip = Assets . getMovieClip ( " my-swf:MyMovieClipName " );Se você preferir criar toda a linha do tempo, use um nome de clipe vazio:
var timeline = Assets . getMovieClip ( " my-swf: " );Se você usar a opção 'gerar', criaria uma nova instância como esta:
var clip = new MyMovieClipName ();Você também pode processar arquivos da linha de comando e carregá-los mais tarde:
haxelib run swf process
haxelib run swf process path/to/swfs
haxelib run swf process test.swf
haxelib run swf process test.swf path/to/test.zip
haxelib run swf process test.swf output/pathPor exemplo:
haxelib run swf process test.swfIsso gerará um arquivo "test.zip" que pode ser carregado em tempo de execução mais tarde:
import swf . exporters . animate . AnimateLibrary ;
import openfl . utils . Assets ;
...
AnimateLibrary . loadFromFile ( " path/to/test.zip " ). onComplete ( function ( library )
{
var clip = library . getMovieClip ( " MyMovieClipName " );
// or
Assets . registerLibrary ( " my-swf " , library );
var clip = Assets . getMovieClip ( " my-swf:MyMovieClipName " );
});Você pode instalar facilmente o SWF usando o Haxelib:
haxelib install swf
Para adicioná -lo a um projeto de limão ou openfl, adicione -o ao seu arquivo de projeto:
<haxelib name="swf" />
Clone o repositório SWF:
git clone https://github.com/openfl/swf
Diga a Haxelib onde sua cópia de desenvolvimento do SWF está instalada:
haxelib dev swf swf
Reconstrua as ferramentas da biblioteca SWF:
```bash
openfl rebuild tools
# or
cd swf
haxe rebuild.hxml
```
Para voltar para liberar construções:
haxelib dev swf