DISTÂNCIA ENTRE DOIS MOVIE CLIPSAlgumas vezes precisamos, no meio de algum projeto, saber a distância entre dois MovieClips (MCs). Este tutorial mostrará como fazer isso depois de uma recordação do Teorema de Pitágoras no plano cartesiano (distância entre dois pontos). Antes de começar o tutorial propriamente dito, vamos recordar alguns conceitos matemáticos. Temos a seguir um triângulo retângulo:
Chamamos de triângulo retângulo ao triângulo que tem um de seus ângulos medindo 90º (ângulo reto, daí a origem de seu nome). Os lados que formam o ângulo reto (neste caso os lados amarelo e azul) são chamados de catetos. O lado oposto ao ângulo reto, que também o maior dos três lados (neste caso em vermelho) é chamado de hipotenusa. Um matemático grego chamado Pitágoras, descobriu algo curioso: ele elevou ao quadrado (multiplicou por si mesmo) cada um destes lados e observou que se somasse os quadrados dos catetos obteria o mesmo resultado do quadrado da hipotenusa! Um exemplo: suponhamos que o lado azul mede 3, o lado amarelo mede 4 e o lado vermelho mede 5. Os quadrados dos lados são respectivamente: 3×3=9, 4×4=16 e 5×5=25. Ao somarmos os quadrados dos catetos (9+15), observamos que tem o mesmo valor que o quadrado da hipotenusa (25). Após algumas tentativas empíricas e demonstrações matemáticas foi elaborado o enunciado do que chamamos de Teorema* de Pitágoras: “O quadrado da hipotenusa é igual à soma dos quadrados dos catetos”:
Portanto, se eu quiser saber qual é o valor da distância do ponto B até o ponto C (em outra palavras, o valor do lado “a”, o vermelho), basta fazer o seguinte cálculo:
Vamos então transpor esse triângulo para o plano cartesiano:
Para saber a distância de A até B, basta fazer a subtração:
Análogamente, para descobrir a distância de A até C, basta fazer a subtração:
Portanto, para descobrir a distância de B até C, basta aplicarmos a fórmula da distância entre dois pontos que descobrimos através do Teorema de Pitágoras!
Transpondo o que recordamos para calcular a distância (d) entre dois MCs, imaginemos o ponto B como o MC1 e o ponto C como o MC2, portanto para calcularmos a distância (d) entre os dois MCs, basta calcularmos a distância entre os pontos B e C, que em ActionScript fica assim: Math.sqrt(((a._x-b._x)*(a._x-b._x))+((a._y-b._y)*(a._y-b._y))) Para obtermos um valor arredondado, usaremos o Math.round: Math.round(Math.sqrt(((a._x-b._x)*(a._x-b._x))+((a._y-b._y)*(a._y-b._y)))); Bom, agora que lembramos alguns detalhes que poderiam estar esquecidos, vamos ao projeto propriamente dito: 1. 2. 3. 4. 5. 6. 7. 8. 9. var a;
Primeiro definimos as variáveis “a”, “b” e “distancia”; Em seguida atribuímos às variáveis “a” e “b” os respectivos MCs: mc1 e mc2 (nomes que demos às instâncias do “exemplo”, lembra?) Então calculamos a distância entre os dois MCs e atribuimos à variável distancia (que é o nome que demos ao Dynamic Text da layer Distância para que a distância seja impressa ao lado do rótulo. 10. Procure mudar a posição dos MCs e fazer diversos testes para ver as diferenças. NOTA: *Teorema, em Matemática, é algo que pode ser provado |
Últimos Comentários