Quando desenhamos um objeto em flash e o convertemos em um clipe de filme ou sprite, como ele é armazenado ou representado em flash. Eu sei que na arte vetorial ele é armazenado ou representado como segmentos de linha usando fórmulas. Existe alguma maneira de obter os vértices da forma que foi desenhada?
Por exemplo, digamos que um retângulo simples seja desenhado e convertido em um clipe de filme. Existe alguma maneira de obter os vértices e os segmentos de linha do sprite? Para que sua forma seja obtida. Informações suficientes devem ser obtidas para que a forma possa ser replicada. Essa é a chave - replicação.
Em termos simples, onde o flash armazena informações sobre uma forma que foi desenhada para que possamos obtê-la e tentar replicar a forma?
fonte
Respostas:
Se eu interpretei seu comentário corretamente, você deseja: Ter sprites de forma arbitrária no Flash e extrair automaticamente a forma desses sprites para usá-los como formas de colisão no Box2d
Geralmente, as formas de colisão são formas muito mais simples do que o ativo gráfico que representam (desempenho). Um modelo 3d altamente detalhado pode ser representado apenas por um cilindro chanfrado.
Alguns corpos físicos podem ser criados automaticamente por algoritmos, mas também é prática comum desenhá-los / modelá-los manualmente. A menos que você tenha uma quantidade enorme de sprites de formas diferentes, provavelmente não vale a pena implementar um algoritmo que extraia formas para você.
Se você der uma olhada na imagem a seguir, poderá ver que uma forma muito complexa pode ser representada por alguns círculos e polígonos simples (devem ser convexos!). Desenhar essas formas manualmente (provavelmente) será superior a qualquer algoritmo que você possa criar.
Você pode desenhar essas formas em uma ferramenta vetorial como o Illustrator ou o Inkscape e exportá-las para o SVG, que pode ser facilmente analisado. Ou use o Flash e exporte as formas como FXG, que também é um formato que pode ser facilmente analisado.
Se ainda não o convenci e você realmente deseja criar programaticamente as formas de seus sprites, aqui estão duas abordagens que podem funcionar.
fonte
O "Flash" armazena todas as informações do filme ou videogame em um formato próprio. Os dados são armazenados em um formato vetorial, este é um formato que possui uma definição matemática. Essa é a principal diferença dos bitmaps, porque você pode dimensionar a imagem sem perda de dados.
Você pode acessar o arquivo .swf, aqui está a especificação http://www.adobe.com/devnet/swf.html e analisar os clipes de filme, formas, coordenadas etc. Como o formato .swf é muito grande, você pode usar o código do projeto SWFRIP em http://sourceforge.net/projects/swfrip/ e veja como você pode analisar um arquivo .swf.
Com um pouco de paciência, você pode obter os dados que deseja.
fonte