Chamado uma função em um link Html no Flash
Escrendo o curso de Actionscript, mais especificamente o tópico que aborda o protocolo asfunction, e por ser pouco conhecido, decidi escrever sobre, pois pode vir a ser útil para muitos desenvolvedores.
Um caso: Hoje é muito comum sites em Flash gerados dinâmicamente a partir de um banco de dados, pode ser que o seu cliente peça para poder linkar uma seção do Flash através do admin, onde o cliente havia sido instruído em como linkar uma página Html, ex. <a href="http://...">Link</a>. A menos que o site possua o recurso de acesso através da URL e sem refresh, este pedido poderia se tornar uma tremenda dor de cabeça, mas graça ao protocolo asfunction, epecífico do Flash, você pode chamar uma função presente no Flash em um link Html no Flash. A sintaxe do protocolo é a seguinte:
asfunction:functionName, parâmetro 1, parâmetro 2, ... parâmetro n
Exemplo
this.createTextField("texto1", this.getNextHighestDepth(), 10, 0, 0, 0); this.texto1.border = true; this.texto1.autoSize = "left"; this.texto1.html = true; this.texto1.htmlText = "<a href='asfunction:trace,Link no texto chamando uma função no Flash!'>Texto asfunction.</a>";
No exemplo foi chamada uma função global do Flash, mas você pode chamar uma função que você criou.




November 21st, 2006 at 2:41
legal cara eu já conhecia mas fazia um tempo que não usava, util para muitas coisas.. abraços..
November 21st, 2006 at 8:20
Cara, engraçado.. esses dias tava precisando muito disso e não tinha noção como fazer..
Ótimo post.. simples e bem educativo
Abraço
March 23rd, 2007 at 17:21
Meu tem como eu beijar sua bunda?……..rsrsrsrs
Essa função me ajudou na hora certa, valeu mesmo.
March 23rd, 2007 at 19:06
Hahaha, por favor, nem pense nisto, o “valeu” já é o bastante!
Obrigado pelo feedback!
April 12th, 2007 at 17:15
Nossa muito bom isso! Em todos esses sites de flash não tem matéria como essas, eles ensinam isso usando javascript e outros modos bemm mais complexos !! Meus parabens…. agora…. como eu faço p executar mais de uma functionName ao invez de mais de um parametro?
por exemplo quero que ele de um trace, de um gotoAndPlay(1); e que possa setar a varTeste = 1;
Sempre preciso disso mas ai faço o site puxando uma pagina em html ao invez de comunicar com o flash.
Mas ja valeu !! brigadão pela dica e parabens !!!!
June 5th, 2007 at 10:22
Não consegui fazer funcionar passando dois parâmetros, apenas passando um. Quando mando traçar no flash, ele entende que o param1,param2 é a mesma variável.
August 6th, 2007 at 16:24
Consegui fazer só sem espaço entre as vírgulas e a função…
August 6th, 2007 at 16:40
ah, realmente, não consegui colocar parâmetros
September 21st, 2007 at 13:39
Gente !!!
Desculpa por invadir o templo de vcs, sou designer e ilustrador, mas tenho um site que estou fazendo, tem um teste no http://www.lobaodesigner.com/institutoleo/.
Bom o lance é na página index tem um flash que chama algumas páginas internas que são html e tem um menu , em javascript. Quando se clica no nome do menu por exemplo LeoEduca abre no menu o javascript com subseções.
A cliente quer que quando se clicar na home, a página venha com o submenu aberto.
Fiz isso no flash da index :
on (release) {
getURL(”javascript:menu(1);(’04_leo_educa.html’)”);
}
Alguém sabe como posso fazer funcionar ?!
muito obrigado desse humilde designer !!!!
October 14th, 2007 at 23:17
Erick,
Graças a pessoas como você, a internet está a cada dia mais profissional… Parabéns pelo tutorial.
Abraço!
December 5th, 2007 at 17:57
Man spricht von erektiler Dysfunktion (= Missfunktion der Erektion, Eine Erektion findet normalerweise statt, wenn ein bestimmter Reiz dazu gegeben sildenafil
December 22nd, 2007 at 8:01
Great Site - really useful information!
January 23rd, 2008 at 22:31
northwest indiana sex offenders registory
February 12th, 2008 at 10:33
sdfgsdfgsdfg
sdfgsdfgsdf
gsdfgsdfgsdfgs
dfgsdfgsdfgsdfgsdf
hgjghjfghjfghj
drthrthdrthdrthdr
April 5th, 2008 at 22:40
http://nudekimkardashi.blog.drecom.jp
July 10th, 2009 at 14:23
Erick cara to com uma duvida aki to começando a usar o flash CS3 eu to mexendo num template e queria saber como colocar um sistema php (de campeonatos de FIFA) no template pode me ajudar?
desde ja agradeço o espaço e parabens pelo blog, muito bom!
July 10th, 2009 at 14:27
ah esqueci do link pra vc ver como é o site!
http://www.cdf.somee.com/
eu quero colocar na area de campeonatos qdo clicar la aparecer os botoes de cadastro,tabela de classificação, inscritos…. ai qdo clicar num desses botoes dai mostrar na mesma pagina como ele faz neste link acima
August 28th, 2009 at 7:54
very nice great article thanks
October 12th, 2009 at 2:38
Grande Erick…
Não tenho um editor Flash, mas estou começando a criar páginas home que basicamente são filmes avi, convertidos para o formato swf, alocadas dentro de um div centralizado na tela. A navegação é feita a partir de imagens/âncora posicionadas absolutamente em relação a este div (relativo).
Pois bem amigo, a questão que está me enganchando a vida é que o IE8 entende tudo direitinho. Mas o Firefox, posiciona as imagens/âncora em relação às margens da tela e não em relação ao div que contém o flash. Como vc já deve ter entendido, assim, quando alguém abrir a página com o Fire numa tela de dimensões diferentes da minha, os links estarão noutra posição. A solução de jogar toda a página para um canto da tela mudaria o conceito de estética (trata-se de um flash de 720×480 pixels) e não posso adotá-la porque poderia parecer algo tipo uma fuga.
Preciso de uma solução para “convencer” o Fire a posicionar as imagens/âncora em cima do flash (sensibilidade para direcionamento) e nas posições corretas, e não quero provocar o ciúme dele dizendo que o Explorer já entendeu…
Caso vc queira me ajudar, poderá ver meu estudo no seu navegador diretamente do servidor, abrindo a página informada acima como website e clicando em um pequeno link no rodapé: “Estudo HTML/CSS/Flash”.
E eu, que já me beneficiei dos seus posts numa outra ocasião, lhe ficarei ainda mais grato.
Grande abraço, mestre.
Lou Poulit.
October 12th, 2009 at 13:10
Na tentativa de poupá-lo, volto para lhe dizer que a definição na minha folha de estilo de uma única dimensão para o div relativo (container do arquivo swf), no caso a largura em pixels, foi suficiente para que o Fire renderizasse o posicionamento absoluto das âncoras sobrepostas a ele, igual ao Explorer. Se eu entendi corretamente, o Fire precisa disso para renderizar posicionamentos de estilo.
Agora, como a estilização do posicionamento (CSS) seria desnecessária se eu tivesse feito o swf em um editor Flash, já com as âncoras clicáveis, só falta aprender se essa exigência do Fire é decorrente da opção de usar um arquivo swf e um player plugado específico…
De toda forma, compartilho a admiração por seu trabalho, que vejo postada por tantas pessoas.
Grande abraço.
October 15th, 2009 at 15:44
Olá Lou,
Pois é, o desenvolvimento do sites html+css requer paciência e checar as diferenças de browser para browser a todo momente. O IE na verdade é o único que renderiza diferente, um caminho é desenvolver primeiramente para o Firefox e outros, e depois se necessário realizar alterações para que funcione da mesma forma no IE. Eu não recomendo hacks, sempre é possível trabalhar sem eles.
October 16th, 2009 at 10:15
Bom dia, mestre.
Li algo semelhante à sua sugestão para método de compatibilização num livro sobre CSS do Andy Budd, que certamente vc conhece. Ele próprio no final sai em defesa do IE. Mas bastaria olhar o relatório de navegadores fornecido pelo Analitcs do Google. Não dá pra desprezar o cara, a maioria dos visitantes usa este navegador e não está nem aí para os meus problemas técnicos. Com certeza a maior rapidez com que outros navegadores respondem (ou se adaptam) às novidades só é percebida por pessoas que desenvolvem sites, mas não pelo público em geral.
Em breve subirei a continuidade do meu estudo, que parece não ter mais volta.
Mui grato pela sua prestigiosa atenção.
December 15th, 2009 at 15:19
Olá Erick,
Muito bom seu post.
Erick eu tenho uma situação muito peculiar: Eu tenho um menu swf que ao clicar nos itens ele direciona para http://localhost/variável que posso acrescentar.
Quero reutiliza-lo dentro de uma aplicação Flex 3 com o SwfLoader.
Tentei usar asfunction, mas o navegador sempre tenta achar a função como se fosse uma página.
Como posso passar parametros para a aplicação flex para executar uma função e evitar que o navegador mude de pagina?
Obrigado.
April 6th, 2010 at 8:45
E ae… tudo tranquilo? Meu amigo essa dica foi show de bola, mas eu gostaria de saber se possível chamar outra função tipo formulário com …
Assim, eu preciso escrever um texto num SWF e chamar esse mesmo texto em outro SWF. é possível?
August 26th, 2010 at 23:14
Buenas Erick
Não entendi como fazer funcionar a AS no topo da pagina.
Quero chamar este link dentro de um mc.
Exibir mapa ampliado
Se puder me ajudar
November 25th, 2011 at 12:51
Pretty part of content. I simply stumbled upon your site and in accession capital to assert that I get in fact loved account your weblog posts. Anyway I will be subscribing on your augment or even I success you access constantly fast.
December 14th, 2011 at 8:15
Hello, brilliant blog. I’m very delighted. Fantastic job. The texts are superb. I also run a blog, stop sometimes to me. I hope you like it too.