MARLOS ALVES CARMO (90 pts)

FÁBIO DUARTE (79 pts)

DAAFY (55 pts)

ZEBEDIAH (35 pts)

PANDOGO (82 pts)

AUTOR DESCONHECIDO (100 pts)

JONAS GALVEZ (521 pts)

ZECA BALA (45 pts)

GUILHERME SCHEIBE (49 pts)

EDUARDO PERROUD (52 pts)

GÉRIO (93 pts)

GABRIEL SPORCH (53 pts)
Treinamento PontoFlash de Flash e ActionScript

Na prática, qual a vantagem de usar o prototype?

Alguém pode me indicar algum programa para converter MIDI em WAVE?

É possível mudar a cor da fonte de um texto dinâmico via Action?

Como faço para, ao clicar em um Botão minha animação retroceder frame a frame continuamente?

Como é que eu faço com que ao ser pressionada qualquer tecla, meu filme recue um frame.

Preciso que um campo de texto exiba um arquivo txt e como usar o loadVars?

Como posso randomizar um Go To para frames entre 4 e 10?

Porque o loop FOR..IN nem sempre gera o mesmo resultado do FOR convencional?

Tem jeito de no flash eliminar as variáveis que foram criadas?

Para que serve o evento DATA?

Como controlar uma trilha sonora com Action Script?

Como achar o valor da Hipotenusa de um triângulo? Usando Math?

Queria colocar um preloader no meu site.

Como se usa o NoCache?
Duplicate Movieclip.

Line Draw.

Jogo de colorir.

Macromedia Flex

Dicas e truques - Fireworks

Separar mensagens das listas das pessoais, usando o Outlook

Gradiente variável

Funções : localToglobal() e globalToLocal()

Adicionar ao favoritos

Clique Direito

ListBox no FlashMX.

Context Menu - usando o botão direito do mouse
Scroll text2

Tweeneng com alpha

Odômetro

Shot me

Array

Scroll circular

Menu Silverado

Keypress

Worms 3d

SomnoFlash5

Alpha dinâmico

Load image
HOME | TUTORIAIS
Fórmula do efeito de elasticidade
por Zipnedles

Muitas pessoas ja devem ter visto por ai exemplos de Flash com efeitos de elasticidade, mas se perguntam muitas vezes como aquilo ocorre, ou como aquele efeito funciona. Nesse artigo estarei explicando para você, que está fazendo a gentileza de ler isso, como funciona a fórmula da elasticidade. Ai está ela na forma simplficada:

P = P + F = F / T1 + (P2 - P) / T2

Aí você me pergunta: O que eu faço com isso?

No Flash P seria a propriedade de um Objeto, e P2 o valor futuro dessa mesma propiedade desse objeto. Ja os divisores T1 e T2 poderiam ser substituídos por multiplicadores na seguinte regra: N < 1.

Eis um exemplo na plataforma do Flash:

MC._x = MC._x + VelX = VelX / (T1 = 2) + (200 - MC._x) / (T2 = 4);

ou então na forma simplificada...

Mc._x += VelX = (VelX/2) + (200 - Mc._x)/4;

Quando eu declaro o valor 200 no lugar de P2 significa o novo valor para a propiedade do MC (MovieClip ou Clipe de Filme) que poderia ser qualquer outro escolhido por você. Você também deve ter percebido a presença de uma variável chamada de VelX. Essa variável está no lugar de F na nossa fórmula anterior. Ela e a responsável pelo efeito de "vai e vem" da elasticidade. Observem a fórmula de movimento que muitos de vocês já devem conhecer:

P = P + (P2-P) / T;

Ela funciona da seguinte maneira, pega a posição e soma ela à diferenca de sua posiçãoo futura dividida por um tempo:

Faça uns testes no onClipEvent(enterFrame){arguments}:

_x += (velocidade = 5); //P += V ou P = P + V
//Aqui estou dizendo que X e igual a X mais um valor

Agora imagine uma régua com a seguinte fórmula: P += (P2-P) / T, se referindo ao movimento de um quadradinho:

                         
A---------B-------C-----D---E-F

O QUE OCORRE AQUI?

P é IGUAL a P MAIS a diferença do valor futuro para ele mesmo DIVIDIDO por um TEMPO (T). Assim temos um movimento que freia durante o tempo. Obs: quanto maior o valor de T a diferença dos valores ira retornar numeros menores, observe os intervalos B~C e D~F, e suas distâncias.

Bom, acho que isso ai deu pra entender direitinho não é?

...voltando a elasticidade...

Você se lembra daquela Variável F da nossa fórmula inicial? Entao agora vamos aplicar ela na fórmula de movimento que acabamos de executar. Você reparou aguma semelhança entre elas? Observe então:

Elasticidade : P += F = F / T1 + (P2-P) / T2
Movimento : P += (P2-P) / T2

Acontece que o princípio do movimento é a base do princípio da elasticidade, incluíndo uma variável unitária escalar F.

Faça novos testes no onClipEvent(enterFrame){arguments}:

_x += F = F+ (200-_x) / 4 ; //viu o que acontece?

Você deve ter observado que o seu MovieClip (Clipe de Filme) fica num movimento de "vai e vem", basta agora voce ir diminuindo aos poucos esse valor da variavel F para obter a enfim elasticidade!. Como? Simples, dividindo ou multiplicando seguindo a regra: N < 1. Desse modo ele vai com uma força F1 e volta com uma força F2 bem menor do que sua antecessora. Observe o gráfico Abaixo :

                            
---------------------P2--------------<<
---------------------------------->> F1
     F2 <<-----------------------------

Obs: todos os testes que você executou foram feitos no evento enterFrame porque esse evento cria uma rotina que nos permite executar várias vezes o mesmo comando, assim F ficara sempre menor e poderemos sempre verificar.

Exemplo Final:

//MovieClip
onClipEvent(load){this._x = 0}
onClipEvent(enterFrame)
{
   newX = 300;
   //30 FPS
   this._x += F = F*0.9 + (newX-this._x)/(T = 10);
}


Devido à reformulação implementada no site, pode ser que você encontre alguns links quebrados. Por favor, ajude-nos a corrigir eventuais problemas nos informando links quebrados
0 comentário