Menu Rotativo
Olá Pessoal
Math (objeto) - Definição retirada da documentação do Flash
O objeto Math é um objeto de alto nível que você pode acessar sem usar um construtor.
Use os métodos e propriedades desse objeto para acessar e manipular constantes e funções
matemáticas. Todas as propriedades e métodos do objeto Math são estáticas e devem ser chamadas
com a sintaxe Math.method(parâmetro) ou Math.constant. Em ActionScript, as constantes
são definidas com a precisão máxima de números de ponto flutuante IEEE-754 de dupla precisão.
Vários métodos do objeto Math usam o radiano de um ângulo como parâmetro. Você pode usar a
equação abaixo para calcular os valores radianos ou simplesmente passar a equação (inserindo um
valor para graus) para o parâmetro radiano.
Para calcular um valor radiano, use esta fórmula:
radiano = Math.PI/180 * grau
O exemplo a seguir mostra a passagem de uma equação como um parâmetro para calcular o seno
de um ângulo de 45 graus:
-
Math.SIN(Math.PI/180 * 45) é o mesmo que Math.SIN(.7854)
O objeto Math é totalmente suportado no Flash Player 5. Você pode usar métodos do objeto
Math no Flash Player 4, mas eles são emulados com aproximações e podem não ser tão precisos
quanto as funções matemáticas não emuladas suportadas pelo Flash Player 5.
Math.PI
A razão entre a circunferência de um círculo e o seu diâmetro (aproximadamente 3,14159).
Disponibilidade
Flash Player 5. No Flash Player 4, os métodos e propriedades do objeto Math são emulados com
aproximações e podem não ser tão precisos quanto as funções matemáticas não emuladas
suportadas pelo Flash Player 5.Uso
Math.PIParâmetros
Nenhum.Retorna
Nada.Descrição
Constante; uma constante matemática da razão entre a circunferência de um círculo e o seu
diâmetro expressa como pi, com um valor de 3,14159265358979
Math.cos
Calcula um cosseno.
Uso
Math.cos(x)Parâmetros
x Um ângulo medido em radianos.Retorna
Um número.Descrição
Método; retorna o cosseno (um valor de -1,0 a 1,0) do ângulo especificado pelo parâmetro x. O
ângulo x deve ser especificado em radianos. Use as informações descritas na introdução do objeto
Math para calcular um radiano.
Math.sin
Calcula um seno.
Disponibilidade
Flash Player 5. No Flash Player 4, os métodos e as propriedades do objeto Math são emulados
através de aproximações e podem não ser tão precisos quanto as funções matemáticas não
emuladas suportadas pelo Flash Player 5.Uso
Math.sin(x)Parâmetros
x Um ângulo medido em radianos.Retorna
Nada.Descrição
Método; calcula e retorna o seno do ângulo especificado em radianos. Use as informações
descritas na introdução do objeto Math para calcular um radiano.
Bom agora que já nos familiarizamos com os métodos da classe Math, vamos ao nosso exemplo, crie um arquivo flash com o Stage de 1024 X 650, nele crie um quadrado de 185 X 138, converta esse quadrado em MovieClip com o linkage de "item", delete ele do Stage deixando-o apenas na Library, agora vá nesse movieclip e dentro dele crie um movieclip vazio com a instância de "carrega", ainda dentro do movieclip "item", crie um campo de texto dinâmico chamado "nome", pronto agora no primeiro frame do seu arquivo cole o código abaixo:
-
Stage.align = "TL";
-
Stage.scaleMode = "noScale";
-
#include "mc_tween2.as"
-
/////////////////////////
-
//DEPTHS E PROPRIEDADES
-
/////////////////////////
-
var radiusX:Number = Stage.width/2.5;
-
var radiusY:Number = 50;
-
var centerX:Number = 450;
-
var centerY:Number = Stage.height/4;
-
var velocidade:Number = 30;
-
//////////////////////////////////////////////
-
//MONTA ARRAY DOS NOMES E DAS IMAGENS DO MENU
-
/////////////////////////////////////////////
-
var numeroMenu:Array = new Array();
-
var img:Array = new Array();
-
numeroMenu[0] = "EMPRESA";
-
numeroMenu[1] = "PORTIFÓLIO";
-
numeroMenu[2] = "NOTÍCIAS";
-
numeroMenu[3] = "CONTATO";
-
//////////////////////////
-
img[0] = "empresa.jpg";
-
img[1] = "portifolio.jpg";
-
img[2] = "noticias.jpg";
-
img[3] = "contato.jpg";
-
////////////////////////
-
valorTotal = numeroMenu.length;
-
imgTotal = img.length;
-
////////////////////////
-
/////FUNÇÃO MONTA MENU
-
///////////////////////
-
function inicia() {
-
//For tomando como parametro o
-
//valorTotal = Total de Itens do menu
-
//imgTotal = Total de imagens do Menu
-
for (var i = 0; i
-
//Adcionando o MovieClip
-
var t:MovieClip = attachMovie("item", "item"+i, i+1);
-
t.angulo = i*((Math.PI*2)/valorTotal);
-
//Setando onEnterFrame
-
t.onEnterFrame = mover;
-
//Propriedades iniciais do MovieClip
-
t._alpha = 0;
-
t.alphaTo(100, 1, "linear", 0.1);
-
//Setando o nome de cada Item
-
t.nome.text = numeroMenu[i];
-
//Setando a imagem de cada Item
-
t.carrega.loadMovie("menu/"+img[i]);
-
//Açõe Dos botões.
-
t.onRollOver = function() {
-
this.alphaTo(80, 0.5, "linear");
-
};
-
t.onRollOut = t.onDragOut=function () {
-
this.alphaTo(100, 0.5, "linear");
-
};
-
}
-
}
-
inicia();
-
/////////////////////////////
-
/////FUNÇÃO MOVE COM O MOUSE
-
////////////////////////////
-
function mover() {
-
this._x = Math.cos(this.angulo)*radiusX+centerX;
-
this._y = Math.sin(this.angulo)*radiusY+centerY;
-
var s:Number = this._y/(centerY+radiusY);
-
this._xscale = this._yscale=s*100;
-
this.angulo += this._parent.velocidade;
-
this.swapDepths(Math.round(this._xscale)+120);
-
this.blurTo(Math.round((-this._xscale+65), 2, 2, "linear"));
-
}
-
onMouseMove = function () {
-
velocidade = (_root._xmouse-centerX)/7500;
-
};
Se você seguiu todos os passos do tutorial, agora é só executar para ver o resultado.
Abraço a todos...
alex ribeiro:
Olá, gostaria de saber como faço para colocar link em cada menu, já tentei de qse tudo e n consegui.
Fico no aguado!
Posted on dezembro 22nd, 2008 at 5:11 pm
Billigflüge:
hello, very useful article
I’m a beginner in Flash Player 5. I have not really payed attention that the methodes of Math are static and must be called with Math.method. I tried your example and succeeded to get it running amazing! I was searching for a long time for an example that helps me to simulate a car movement.
U have really saved my time
that’s a part of the Code:
…..
this.tempo = 0;
this.move = function ()
{
this._y -= this.tempo * Math.cos (this._rotation * (Math.PI / 180));
this._x += this.tempo * Math.sin (this._rotation * (Math.PI / 180));
};
Sorry I can’t write in Portugese because I’ m learning it just since 6 monthes, I hope you understand it. keep up the good work.
Posted on abril 18th, 2009 at 5:18 am