Fazmidia | Consultoria WEB

Desenvolvimento de Sites e Sistemas On-Line

Navegando Posts em Action Script 3

Ola pessoal, estou aqui mais uma vez para socorrer os que se desesperam na frente do flash. Você faz tudo certinho e não sabe por que ainda não esta funcionando.

Em um dos nosso projetos foi pedido que, ao passar o mouse sobre qualquer elemento na tela do site, qualquer elemento aumentaria de proporção, ao tirar o mouse, o elemento diminuiria.

Fiz a animação via timeline, 15 camadas, instanciei os movie clip(MC), etc e tal. Usei actions da classe tween e ai começaram meus problemas.

Só os primeiros MC escutavam a função, os demais não. Depois de muito desespero, copiei todos os MCs que estavam separados por camadas e colei juntos em uma camada só. PRONTO! Resolvido o problema.

Pow meu, se o programa te da opção para ter várias camadas, porque o objeto da camada 1 não pode escutar as actions que estão na camada 20? Sacanagem, mas taí a dica. Deu esse problema, coloca tudo numa camada só, de preferência, a actionscript no mesmo quadro.

FUI!

Bom, estive vasculhando a internet para saber como abrir uma nova janela usando getUrl no AS3.

Foi dificil achar, mas encontrei. Para quem acompanha o blog, fica o código abaixo para facilitar.

var myURL:String = new String("http://www.seusite.com.br");
var myRequest:URLRequest = new URLRequest(URL);
navigateToURL(myRequest, "_blank");

Aí você pode usar _self, _top, etc.

Para quem quiser formatar de uma forma rápida o seu TextField dinâmico no AS3, basta utilizar a propiedade esta forma:

No lugar de escrever:

seuTextField.text = “<b>Titulo</b><br>Teste teste teste teste.”;

Escreva:

seuTextField.htmlText = “<b>Titulo</b><br>Teste teste teste teste.”;

Até a próxima

Novamente foi uma luta para encontrar, mas a Fazmidia traz novamente uma nova solução para AS3 com facilidade para você não perder os cabelos.

Em um dos nosso projetos precisávamos criar um mapa do Brasil para mostrar os representantes. O usuário teria que passar o mouse sobre os estados e cada estado deveria aumentar, portanto.Usávamos uma propriedade chamada swapDepth no AS2.

No AS2 tínhamos para o swapDepth o getNextHighestLevel que fazia um movieclip ficar por cima do outro facilmente. Para o AS3, parece complicado, mas não é. Os blogs pela internet fizeram questão de deixar dificil a situação. Encontrei nestes várias soluções utilizando classes, for, while, uma loucura atrás da outra.

Uma solução simples é você colar esta linha dentro da sua função:

e.target.parent.setChildIndex(e.target, e.target.parent.numChildren-1);

Agora qualquer movieclip no seu palco pode ficar sobre o outro apenas com esta linha.

Script completo:

function _aumenta(e:MouseEvent):void{
e.target.parent.setChildIndex(e.target, e.target.parent.numChildren-1);
}
qualquerClip1_mc.addEventListener(MouseEvent.MOUSE_OVER, _aumenta);
qualquerClip2_mc.addEventListener(MouseEvent.MOUSE_OVER, _aumenta);
qualquerClip3_mc.addEventListener(MouseEvent.MOUSE_OVER, _aumenta);
qualquerClip4_mc.addEventListener(MouseEvent.MOUSE_OVER, _aumenta);

Até a próxima.

Por Vinicius -  No começo do ano fiquei um pouco triste com a popularização do Jquery. Vi alguns efeitos dele e vi que dá para substituir o flash para muitas aplicações em um site. Saudável para a web 2.0, mas triste para quem curte desenvolver projetos em flash. Mas navegando pela internet encontrei uma coisa fascinante e que realmente voltou a me empolgar  nos projetos em flash: Papervision3D. Isto é um pacote de actions que pode ser implementado do flash e importados para seu projeto. Os efeitos são impressionantes. Confira: http://blog.zupko.info/?p=69

LIGHTBOX + AS3

5 comentários

Olá pessoal, acho que este post vai interessar muita gente.

Em um projeto recente foi solicitado Flash + LightBox para amostra de produtos. E como sempre fomos fazer uma pesquisa para ver se havia algo parecido na web. Sim, havia, mas não funcionava. Vimos também que muita gente ficou com dúvida e provavelmente não resolveu o problema. Então deixamos este post para que você integre certinho o AS3 com o LightBox.

Vamos lá:

Primeiro, baixe o lightbox . Descompacte todos os arquivos da pasta dentro da raiz do seu site. Haverá um arquivo index nele, cuidado para não sobrescrever o seu original. Nele contém um exemplo de como aplicar as linhas do script no html.

Segundo, cole este código no cabeçalho da sua página.

<script type=”text/javascript”>
function SWFDelegate(url,width,height,caption) {
var objLink = document.createElement(‘a’);
objLink.setAttribute(‘href’,url);
objLink.setAttribute(‘rel’,'lightbox’);
objLink.setAttribute(‘title’,caption);
if(typeof width != ‘undefined’) {
objLink.setAttribute(‘width’,width);
}
if(typeof height != ‘undefined’) {
objLink.setAttribute(‘height’,height);
}
Lightbox.prototype.start(objLink);
}

</script>

Terceiro, utilize esta ação para seu botão em AS3:

function runLightbox(MouseEvent){
//images/teste.jpg é a pasta onde esta sua imagem
var url:URLRequest = new URLRequest(“javascript:SWFDelegate(\’images/teste.jpg\’,\’550\’,\’400\’,\’Strongbad: Coloring\’);”);
navigateToURL(url, “_self”);
}
//seubotao é um botao instanciado com este nome, escolha o nome que quiser.
seubotao.addEventListener(MouseEvent.MOUSE_DOWN, runLightbox);

Agora se você tiver uma galeria de fotos no seu site, basta repetir o código acima para cada botão do seu swf.

Existe outra maneira para fazer isso, você pode estudar mais a respeito no site onde encontramos quase a solução do problema. Fonte original: http://blog.codefidelity.com/?p=18

É isso ae galera, boa sorte.