O que é e como fazer um boneco flash reverso
Você provavelmente está procurando uma forma de inverter a animação de um personagem feito no Adobe Flash ou Animator. A técnica do boneco flash reverso nada mais é do que criar um personagem esquelético simples e aplicar um efeito de reversão temporal ao movimento, seja para looping, simetria espelhada ou correções de animação. O processo é bem direto se você souber onde apertar os botões certos.
boneco flash reverso
Comece abrindo o Adobe Flash (ou Animate, na versão atual). Crie um novo arquivo ActionScript 3 e desenhe seu boneco usando formas separadas para cada parte do corpo: cabeça, tronco, braços, antebraços, coxas, pernas e pés. Cada parte precisa ser um símbolo de movie clip com o ponto de registro centralizado. Se você usar linhas ou preenchimentos simples, a reversão vai travar depois. O erro mais comum que eu vejo as pessoas cometendo é tentar inverter a animação em um objeto ainda não convertido para movie clip. Isso não funciona. O Flash só entende reversão quando o elemento tem estrutura interna de frame. Eu perdi uma tarde inteira com isso em um projeto de animação de caminhada. O personagem voltava ao frame zero mas o braço ficava congelado porque eu tinha esquecido de aplicar easing negativo nos keyframes de inversão.
Agora, sobre o mecanismo de reversão. No timeline, selecione todos os keyframes de posição e rotação do seu boneco. Vá em propriedades e aplique a expressão flip no campo de transformações, ou use o recurso nativo de animação reversa clicando com o botão direito nos frames e selecionando "Inverter Frames". Se estiver usando ActionScript, o comando é simplesmente reverse() na classe Tween ou frame = totalFrames - frameAtual num loop. Tudo depende da sua versão do Flash. Uma coisa que poucos people explicam: a reversão de um boneco animado em ciclo funciona perfeitamente até você adicionar rotação de quadril ou inclinação do tronco. Aí a simetria quebra e o pé desliza no chão. Minha solução foi criar um grupo separado para as pernas e aplicar a reversão apenas nos eixos X e Z, mantendo o Y fixo. Dá trabalho no início mas economiza horas de retrabalho.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Se você estiver usando Flash CS6 ou superior, há também a opção de exportar o boneco como SWF e usar ferramentas externas como o SwfDecompiler ou o Sothink para inverter a animação sem precisar reconstruir o projeto. Eu já usei isso em projetos antigos onde o arquivo fonte tinha sido perdido. Funciona mas a qualidade cai um pouco na conversão. O formato SWF do boneco flash reverso pode ser baixado ou exportado diretamente do menu File > Export. Escolha SWF e verifique se a opção "Export de Animação Reversa" está marcada. O arquivo resultante carrega bastante rápido em navegadores modernos desde que você otimize os gráficos vetoriais antes de exportar.
Não esqueça de testar a reversão em loop. Se o boneco piscar ou pular na volta ao início, verifique se os keyframes de entrada e saída são espelhados exatamente. Um frame de diferença já causa um salto visível. Isso acontece porque o Flash calcula interpolação entre frames adjacentes e o valor final de uma direção não é o mesmo que o inicial na reversão. Outro detalhe que ninguém menciona: a reversão funciona melhor com personagens construídos em camadas isoladas, não com silhuetas cheias. Um boneco feito com traços grossos e preenchimento sólido fica com artefatos visíveis quando invertido. Recomendo manter o design minimalista — linhas finas, preenchimentos leves, menos é mais nesse caso.
Se o problema for inversão de direção (esquerda para direita), use a propriedade scaleX = -1 no movie clip do boneco inteiro. Mas cuidado: isso inverte também textos e elementos fixos no palco. Eu já tive que refazer toda a interface de um tutorial porque o botão de play ficou espelhado sem eu perceber. Resumindo: faça o boneco em movie clips separados, aplique a reversão nos frames ou via código, teste o loop e corrija eventuais saltos nos keyframes finais. Se tudo mais falhar, use um decodificador de SWF para reverter o movimento em nível binário.