Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

juniorgothic

Como fazer um efeito de banderia ?

Recommended Posts

Ola pessoaL,Estou precisando fazer um logotipo vetoriaLter efeito como se fosse a de uma bandeirase mechendo com o vento ...Como faço ?Ja tentei utilizando o shape, porem tudode espedaça na tela e vira uma bagunça,e se crio grafico para efetuar um motion,não tenho liberdade para distorcer emformato S como se fosse uma bandeiraAlguem tem um exemplo .fla,tutoriaL ou action script que possame ajudar ?Agradeço desde jaUm abraço e até mais !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Procura fazer no after efects .... lá esse efeito é padrão .... tipo aqueles efeitos que existem no photoshop ........ depois de feito tu exporta a animação em uma sequência de jpg , png ..... ai tem que ver as opções do programa ... tem bastante ....... depois importa essas sequencias de imagens no flash ...... la ele vai dar uma mensagem que se voce deseja importar a sequencia de imagens ....... diga que sim ......... e depois isso ......... transforma isso num movie clip e ai meu amigo é só alegria ........ você terá o efeito que quer ........ A versão boa desse programa é a 6 ..... beleza ........ espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá uma olhadinha nesse site que eu fiz... se for o que você procura eu posto o FLA só da parte da bandeirinha pra você...

 

O Site

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, me manda o fla,me compliquei todo nahora de organizar o intervalode tempo nas linhas, resultado,ao invez de ficar ondulada ficoupontiaguda:ao invez de ficar que nem ~ficou que nem ^email: juniorgothic@yahoo.com.br ok ?um abraço e até mais !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi... os arquivos estão nos links abaixo... Desculpem pela propaganda partidária involuntária, mas não tive tempo de mudar o conteúdo da bandeira. http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

 

BANDEIRA.FLA

 

BANDEIRA.SWF

 

Espero que ajude... Qualquer dúvida a gente explica.

 

T+

Compartilhar este post


Link para o post
Compartilhar em outros sites

FAla aew GDA!!!! beleza???Pow cara!!! baixei o fla mas naum to por dentro de tds os codigos!!! se ode explicar??? a logica tah meio intendida, mas as AS q taum dificultando!!!!VAlews cara!!! t+!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posso tentar, Léo... ^_^

 

Os passos principais desse tipo de efeito são:

 

1 - "cortar" a imagem em "tiras";

 

2 - transformar cada uma das "tiras" em MC;

 

3 - Montar um MC com instâncias de todas as tiras... Essas instâncias recebem números sequenciais como nome. No exemplo eu tenho 9 tiras que foram instanciadas no MC "bandeira" com os nomes de "1", "2", ..., "9". Se não me engano, é isso que os eruditos chamam de "MCs filhos", enquanto o MC "bandeira" seria o "MC pai". O legal desse jeito de usar, é que a gente pode se referir aos filhos como se fossem índices de uma matriz, o que facilita bastante!

 

4 - Depois é só colocar uma instância do MC "bandeira" no palco e dar um nome pra ela. No exemplo eu chamei de "tiras".

 

5 - Agora é só abrir as ações de tiras e colocar o código abaixo:

 

 

onClipEvent (load) {  var seno = Math.sin;}onClipEvent (enterFrame) {	for (i = 1; i<=9; i++) {  vel += 0.03;  _root.tiras[i]._y = 10*seno(vel+i/2);	}}

 

 

Bom para entender o código, a gente tem de entender o que o programador quer fazer. A idéia é fazer com que as tirinhas da bandeira subam e desçam segundo um movimento senoidal (como um til "~"). Por isso eu usei o método "sin" (seno) do objeto "Math".

 

Já no evento "load" eu atribui à variável "seno" o método "Math.sin". Na verdade, eu só deixei isso aí por comodismo, pois em versões anteriores desse código eu usei várias vezes o "Math.sin" para gerar outros movimentos, então não quis ficar repetindo... http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

 

Bom... o Math.sin exige um ângulo dado em radianos, e para transformar um ângulo de graus para radianos é preciso fazer o seguinte cálculo:

 

radianos = PI/180 * graus

 

Se "Pi /180" é aproximadamente 0.017, se nós variarmos esse valor para cima ou para baixo, o efeito será o mesmo que termos uma variação de àngulos maiores ou menores... Deste modo, nós temos aí um controle para a velocidade ("vel")da nossa bandeira!

 

vel += 0.03;

 

Quanto maior o valor, mais rápida será a oscilação da bandeira.

 

Continuando... o que eu preciso é fazer as tiras subirem ou descerem, então vou ter de mexer no parâmetro "_y" de cada uma delas em sequência (de 1 a 9). Como essa variação tem de obedecer a uma variação senoidal...

 

_root.tiras._y = 10*seno(vel+i/2);

 

... onde "i" é o número que corresponde à instância dos MCs filhos em "tiras", ou seja, as 9 tiras propriamente ditas.

 

Outro detalhe, é que o resultado de uma função seno é sempre um valor entre 1 e -1. Por isso a gente multiplica o resultado por 10. Se você variar esse valor, você vai ter movimentos mais amplos ou menos amplos...

 

Quem é o ângulo de quem se vai tirar o seno? É a própria velocidade ("vel"). Só que isso dá uma variação muito pequena entre um ângulo e outro, logo, entre o movimento de uma tira e outra. O que a gente precisa, é que as variações do seno sejam proporcionais à sequência das tiras, ou seja, a variação da segunda tem de ser maior que a primeira e menor do que a terceira, e assim por diante. Por isso a gente soma o próprio valor do índice à velocidade. Só que esse valor é muito grande, e as variações ficam grades demais. Assim, temos de dividir o índice (i) por um outro valor. No caso dividimos por "2" e tivemos um resultado adequado aos nossos propósitos. Mas poderíamos usar outros valores, e isso faz com que a oscilação da bandeira fique mais intensa ou mais suave... experimenta!

 

O restante é simples... o satement "for" vai fazer uma contagem de 1 a 9 cada vez que houver a entrada de um frame, e vai armazenar esses valores sequencialmente em "i"...

 

Pronto!!! B)

 

Realmente a explicação trigonométrica complica um pouco, mas não é tão difícil quando você pode ver o resultado da mudança de cada parâmetro. Alternativamente, você pode tentar esse código alternativo, onde cada parâmetro pode ser alterado facilmente a fim de ver o resultado que provoca:

 

onClipEvent (load) {  var seno = Math.sin;  velocidade = 0.03;  amplitude = 10;  fase = 2;}onClipEvent (enterFrame) {  for (i = 1; i<=9; i++) {    vel += velocidade;    _root.tiras[i]._y = amplitude*seno(vel+i/fase);  }}

 

 

Experimente também fazer variar as escalas, as posições _x, etc... dá para fazer muita coisa com esses mesmos conceitos.

 

Só espero não tomar uma dura dos moderadores por ter feito um post tão longo... :blink:

 

:D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poxa galera numa boa ....... mas desse jeito que foi postado de fazer imagens em tiras ...... fica muito trabalhoso ........ e o resultado final também não fica satisfatório .......... Alguém tentou fazer o que eu postei acima ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu GDA, me serviu muito bem sua lógica !e foi muito facil mudar para movimentos horizontaise com velocidade diferente.muito obrigado ... tb virei seu fã ...onde você fez curso ou qual livro leu pra ficar tão bom assim em flash ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

POR... GDA!!!!! ALÉM DE UMA AULA DE ACTION, AINDA RECEBI UMA AULA DE TRIGONOMETRIA!!!! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Mt bom cara!!! mt bom msm!!!!! Tds os teus últimos posts tem me ajudado pacas cara!!!!! :blink: :wacko:

valew aew!!!!!! se puder responder a última pergunta do juniorgothic...

 

onde você fez curso ou qual livro leu pra ficar tão bom assim em flash ?
Fico agradecido tmb!!!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

vaLEw CaRa!!!!!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Putz, galera... valeu... http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

 

Mas não é para isso tudo!

 

Aliás, se é que dá para responder a pergunta de vcs, acho que tem um bom jeito de aprender qualquer coisa: compartilhando. Quanto mais você compartilha, mais você aprende. Não fiz curso e nem li livro nenhum... As minhas fontes de consulta são a tecla F1 do Flash e o Google. Fora isso, é fuçar muito os códigos que chegam prontos na mão da gente e colocar sempre "metas" para resolver via programação, e isso vale para qualquer linguagem...

 

Não sou tão bom assim em Flash... se as contribuições ajudaram vcs, já ta de bom tamanho! ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poxa galera numa boa ....... mas desse jeito que foi postado de fazer imagens em tiras ...... fica muito trabalhoso ........ e o resultado final também não fica satisfatório .......... Alguém tentou fazer o que eu postei acima ?

Cara, concordo com você... especialmente na parte do "resultado". Visualmente o efeito mais perfeito ainda é uma importação desse tipo. Todavia, a sua solução não é exatamente uma solução em Flash e pode oferecer ainda alguns inconvenientes, segundo outros pontos de vista, no que diz respeito ao controle do filme. você não vai poder mudar parâmetros para ter efeitos diferentes... só mudando a sequência original importada.Agora, é certeza que existem soluções em Flash/ActionScript mais eficazes por aí. Só que eu ainda não sei. Mas sei que existem, e um exemplo está aqui nesse link:Experimentos em ActionScriptTente ver o exemplo 34... A única coisa que eu sei é que foi feito 100% em Flash/ActionScript... mas como??? :blink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

No dia em que eu fizer isso aí é que eu vou começar a "trabalhar"... huehahueheua

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigado...esse site é uma ótima referencia quando o assunto é algoritmo....os caras mandam muito bem mesmovaleu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caramba... Tentei fazer essa parada com uma outra imagem que tenho aqui e NADA...

 

Vou postar aqui o .FLA pra quem puder ver o que eu tô fazendo de errado e se possível me dar uma mão.

 

Eu dividi a imagem em tiras, importei elas pro flash, transformei em MC... Vejam vocês mesmos.

 

http://geocities.yahoo.com.br/partidodeprimeira2/teste.fla

 

Abraço.

 

Ah... Meu e-mail e MSN é maumauvs@terra.com.br (MSN assim mesmo) - Pode ser por e-mail ou MSN também...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa

 

Troca isso aqui no teu código:

onClipEvent (enterFrame) {

if (!vel) {

vel = 0;

}

for (i = 1; i<=14; i++) {

vel += velocidade;

_root.tiras[i]._y = amplitude*seno(vel+i/fase);

}

}

[code=auto:0]

E outra coisa: baixa o exemplo do kra novamente e da uma arrumada... tem uns erros como por exemplo o movieclip "bandeira" tem a foto inteira quando, na verdade, deveria ser as tiras.

Tem tembém o erro com o posicionamento das imagens no palco.. se você for ver, todas as tiras estão centralizadas no palco. No seu, as tiras estão com o centro no canto superior esquerdo... isso altera algumas coisas...

 

Falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.