ALEXANDRE PORTO (1281 pts)

DAAFY (55 pts)

EDUARDO WALMOTT (226 pts)

LUIZ HERRERA (117 pts)

RICARDO TAKAHASHI (180 pts)

GÉRIO (93 pts)

ÉMERSON ROCHA (85 pts)

DENIS CARAVALHO (85 pts)

GUILHERME SCHEIBE (49 pts)

NILTON BICALHO (61 pts)

MARCELO SIQUEIRA (96 pts)

MARCOS JOSÉ PINTO (44 pts)
Treinamento PontoFlash de Flash e ActionScript

Preciso saber como faço para acionar um movie clip à partir de um botão na timeline principal.

Como enviar uma variável GET para o FLASH...? E como recuperar no flash?

Dá pra fazer um menu popup usando a propriedade _currentFrame?

Como fazer uma validação para verificar se num campo de entrada foi digitado um número ou não?

Gostaria que 180 imagens se alternassem no Flash de 4 em 4 segundos.

Como criar uma seqüência para a tecla TAB num formulário?

Como fazer um filme preloader não sair quando o principal estiver carregado?

Como posso enviar e-mail através de um formulário feito no flash sem ser pelo formmail.pl?

Alguém tem um javascript redirecionador de páginas?

Quero colocar a data escrita por extenso em português no flash?

Meu TXT não está abrindo no Flash com load variables.

Como exportar/importar somente algumas variáveis da timeline principal?

Quando transformo uma imagem em símbolo, preciso manter na biblioteca a imagem original e o símbolo?

Que ação devo usar no flash 5 para criar um link p/ email?
Comunicação Flash-PHp-MySql - introdução

Looping.

Nikefootball, uso e abuso do flash - Avaliação de sites

Como enevoar as bordas de uma imagem no Fireworks.

Criando um verificador de campos de um formulário.

Aspectos Básicos das Ferramentas de Desenho.

Cursor customizado no Flash5.

Clique Direito

Imagens transparentes usando PhotoShop, Fireworks e Flash.

Flash e Banco de Dados.

Componentes no Flash MX 2004

Máscara com gradiente.
Photoframe

Nudemask3

Rotating puzzle

Álbum de fotos

Time left preloader

Preload com ampulheta

Drummer

Televisão

Barra de navegação

Mulher

Duplicate MC

Ondas
HOME | TUTORIAIS
Funções : localToglobal() e globalToLocal()
por Ken Awamura

INTRODUÇÃO

Ao criarmos / declararmos um Objeto no Flash, podemos considerar propriedades como por exemplo, a posição X e Y do mouse como sendo Locais às coordenadas de um movieClip ou globais em relação às coordenadas do Stage e com o uso das funções localToGlobal() e globalToLocal() podemos definir, em tempo de execução, se uma variável é local ou global.


NESTE TUTORIAL

  • Criação de Objetos
  • Funções: localToGlobal(), globalToLocal(), object() e updateAfterEvent(mouseMove)
  • Output de resultados em um Dynamic textField
  • Utilização do Debugger

IDÉIA GERAL DO TUTORIAL

Criação de um objeto chamado 'p' com o qual iremos alternar suas propriedades X e Y em relação à um movieClip chamado 'mc' e em relação às coordenadas do Stage principal.

O movieClip 'mc' é um quadrado localizado no centro do Stage com as respectivas coordenadas relativas ao Stage : 200,150

O Stage possui 400x300 pixel e sua origem 0,0 está no canto superior esquerdo

O objeto 'p' é criado no evento onClipEvent(mouseMove) do movieClip 'mc', portanto 'p' é um objeto interno ao movieClip 'mc'

 


ETAPA 1 : OS COMPONENTES

Crie 2 layers : as e bg e na layer bg faça o seguinte :

  • Crie um movieClip com as seguintes dimensões : quadrado com 10,10 pixel
  • Coloque uma instãncia deste movieClip no centro do stage e nomeie 'mc' no painel Instance
  • Crie um campo texto do tipo Dynamic textField e nomeie 'out' no painel Text Options

Ative o seu Debugger no menu File / Publish Settings / Flash / Debbuging Permitted


ETAPA 02 : O ACTIONSCRIPT

Selecione o movieClip 'mc' no Stage e abra o painel Actions. A idéia é criarmos um objeto chamado 'p' no evento mouseMove to movieClip. Este objeto receberá as coordenadas do mouse _xmouse e _ymouse, portanto as coordenadas x e y de 'p' serão necessariamente Locais ao movieClip 'mc'. Se quiséssemos que as coordenadas x e y de 'p' fossem Globais ao Stage teríamos que apontar _xmouse e _ymouse para o _root, i é : _root._xmouse e _root._ymouse. Porém podemos mudar esta relação com as funções localToGlobal() e globalToLocal(), que é o nosso objetivo.

Insira o seguinte actionScript :

onClipEvent(mouseMove)
{
   p = new Object();
   p.x = Math.round(_xmouse);
   p.y = Math.round(_ymouse);

   //this.localToGlobal(p);

   _root.out = p.x + " : " + p.y;
   updateAfterEvent(mouseMove);
}


ETAPA 03 : DETALHANDO O ACTIONSCRIPT
   p = new Object();
   p.x = Math.round(_xmouse);
   p.y = Math.round(_ymouse);

No evento mouseMove do movieClip é criado o objeto 'p' através do constructor new object(); Este objeto terá coordenadas x e y de acordo com as coordenadas do mouse
   _root.out = p.x + " : " + p.y;
   updateAfterEvent(mouseMove);

O textField 'out' que está no stage fará o output das coordenadas x e y do objeto 'p'.

Teste o filme e note que à princípio, ao movimentarmos o mouse, as coordenadas de 'p' são relativas ao movieClip ´mc', i é, ´mc' é a origem do objeto 'p'. Isto pode ser verificado no textField 'out' e via o Debugger.

 


ETAPA 04. CONVERTENDO COORDENADAS LOCAIS PARA GLOBAIS

Com a função localToGlobal podemos agora converter as coordenadas x e y do objeto 'p' que à princípio são Locais para Globais.

Tire o comentário do código acima  //this.localToGlobal(p); e verifique que agora ao testar seu filme as coordenadas de ´p' são globais em relação ao 0,0 do stage. Isto pode ser verificado no textField 'out' no Stage. Já no Debugger verifique que o objeto 'p' mantém suas coordenadas Locais, pois como já foi frisado antes sua declaração inicial foi Local :   p.x = Math.round(_xmouse); e p.y = Math.round(_ymouse)

onClipEvent(mouseMove)
{
   p = new Object();
   p.x = Math.round(_xmouse);
   p.y = Math.round(_ymouse);

   this.localToGlobal(p);

   _root.out = p.x + " : " + p.y;
   updateAfterEvent(mouseMove);
}


EXTRA

Experimente fazer o inverso, i é, declarando p.x e p.y como Global e utilizando a função inversa globalToLocal();


onClipEvent(mouseMove)
{
   p = new Object();
   p.x = Math.round(_root._xmouse);
   p.y = Math.round(_root._ymouse);

   this.globalToLocal(p);

   _root.out = p.x + " : " + p.y;
   updateAfterEvent(mouseMove);
}


DOWNLOAD DO .FLA

Faça o download do arquivo : aqui



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
1 comentário


Comentário de George Max
| 12/5/2010 - 09:39 |


Acho q só ficou faltando detalhar mais o tutorial, por exemplos , fora isso ta legal aprendi algo new no actionspript valeu... Vai tomar no cu