|
Como usar o LocalConnection para controlar swfs em janelas diferentes: Vamos conhecer uma ferramente interessante do Flash MX, que poucos usam e outros até nem sabem que ela existe, vamos aprender a controlar um swf através de outro swf, separados por janelas diferentes (frames ou popup). Loucura?Não isso é possível mesmo, vamos trabalhar um pouco e criar um swf com 6 botões, sendo que cada um desses botões controlarão um outro swf, pra ir para um frame determinado, ou seja, eu clico num swf e ele executa a ação no outro, piração né?Pois é, vamos lá: Crie um arquivo novo no flash com o nome de emissor, esse será o swf com os botões, então vamos criar 6 botões nesse swf e colocar o noem de instancia pro primeiro botão de “bot1″ sem aspas, e pro segundo botão colocaremos “bot2″ e assim sucessivamente até o botão 6 como “bot6″. Depois de criado e instanciado os 6 botões, vamos criar uma ação para se conectar com o outro swf, então abram o painel de ações do frame e coloquem a seguinte ação: var filme1 = new LocalConnection(); // cria uma variavel com nome “filme1″ que será uma nova conexão local bot1.onRelease = function() { // ao soltar o botão “bot1″ filme1.send(“suaConexao”, “acao”, “1″); // o filme1 vai mandar uma ação para “suaConexao” definindo a ação e o parametro, que nesse caso é o frame que va mandar }; bot2.onRelease = function() { // mesma ação acima só que para o botão 2 e assim por diante até o botão 6 filme1.send(“suaConexao”, “acao”, “2″); }; bot3.onRelease = function() { filme1.send(“suaConexao”, “acao”, “3″); }; bot4.onRelease = function() { filme1.send(“suaConexao”, “acao”, “4″); }; bot5.onRelease = function() { filme1.send(“suaConexao”, “acao”, “5″); }; bot6.onRelease = function() { filme1.send(“suaConexao”, “acao”, “6″); }; Feito isso, vamos salvar esse fla, e vamos criar outro com o nome de receptor, que é o swf que irá receber as ações, então vamos criar um novo fla com 6 frames, a lógica então é pelo outro swf que criamos, controlar esse por frames ou janelas separadas, então vamos fazer o botão um fazer esse frame ir para o frame 1, o botão dois do outro swf, fazer esse swf ir para o frame dois e assim por diante, então vamos criar 6 frames diferentes, eu fiz um mais simples apenas mudando os nomes dos frames, então depois de feito os 6 frames, vamos colocar essa ação no primeiro frame: var filme2 = new LocalConnection(); // Cria a variavel “filme2″ como uma nova conexão local filme2.connect(“suaConexao”); // vai conectar o filme2 com “suaConexao” que foi criada no filme1 filme2.acao = function(frame) { // criou a açao que é uma função com 1 parametro “frame” gotoAndStop(frame); // define a ação como gotoAndStop e o parametro será o numero do frame }; stop();// apenas uma ação para o filme não ir para os outros 5 frames Então acima concluímos nossas ações, vamos agora ver o resultado nessa página, notem como são swfs diferentes e independentes e como o swf decima controla o de baixo, o mesmo acontecería se estivessem em frames diferentes ou até mesmo em janelas popups diferentes. Filme Emissor:
Filme Receptor:
Então acima vocês aprenderam como fazer dois filmes se comunicarem, isso é muito útil para quem trabalha com frames, ou popups, é mais um recurso poderoso do Flash MX. Até a próxima !!! Gustavo Henrique Carneirinho |




ShareThis