Bem vindo ao SOS Designers

Faça o seu cadastro gratuito no Portal SOS Designers e tenha um acesso personalizado.

Empresas

Cadastre gratuitamente suas vagas, crie sua propria Lista de Curriculos Favoritos, e tenha um acesso personalizado.

Usuarios

Cadastre gratuitamente seu curriculo, crie sua propria Lista de Noticias Favoritas e tenha um acesso personalizado.

Área de Empresas | Vagas

Área de acesso a empresas cadastradas que desejam postar vagas de empregos no Portal e pesquisar curriculos.

Cadastre-se gratuitamente
Esqueceu a sua senha?

Área de Usuarios | Curriculos

Área do Usuario que deseja cadastrar seu curriculo e pesquisar vagas.



Cadastre-se gratuitamente
Esqueceu a sua senha?


Redes Sociais
Siga o Portal SOS Designers no Twitter Siga o Portal SOS Designers no Facebook

Flash


Você está aqui: Home » Flash » Funções : localToglobal() e globalToLocal()

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


Pesquisar no Portal SOS Designers





Tempo Real



Siga o SOS Designers








pub_flash( 'http://www.sosdesigners.com/banners/mkt digital_flash_300x250.swf', 300, 250 ); " alt="Tecnoponta - 300 x 250 - MKT Digital" />
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

Grande abraço,
[ ]´s
Ken Awamura
--------------------------
Ken Awamura tem graduação em Bacharelado em Informática e iniciou sua carreira na área de análise de sistemas porém em 1998 decidiu se especializar em Desenvolvimento para a Web, especialmente com o uso do software Macromedia Flash que começou a usar na sua versão 3. Atualmente dedica-se mais na área de programação com actionScript e na integração do Flash com soluções externas tanto client como server side.


Deixe seu comentário:





© Copyright 2002-2018
Portal SOS Designers
Webmaster: Luiz Antonio Bovi