RÔMULO NUNES (32 pts)

DENIS CARAVALHO (85 pts)

EDUARDO WALMOTT (226 pts)

PANDOGO (82 pts)

DAAFY (55 pts)

GUILHERME G.G. (137 pts)

GUILHERME SCHEIBE (49 pts)

ZEBEDIAH (35 pts)

KEN AWAMURA (130 pts)

BÁRBARA TOSTES (64 pts)

STICKMAN (155 pts)

PEDRO CLAUDIO (50 pts)
Treinamento PontoFlash de Flash e ActionScript

Porque o loop FOR..IN nem sempre gera o mesmo resultado do FOR convencional?

Jogo Genius.

Queria usar no meu formulário o CGI de outro domínio.

Como fazer uma timeline andar mais lenta que outra?

Como fazer um load individual para cada frame de meu filme?

Dá para fazer animações 3D no Flash?

Como fazer um fade em um movieclip, do 100 a 0%?

Como faço para dar uma ação de um movieclip para outro?

Como acessar o valor de um campo de texto input via teclado?

Como parar um movieclip quando passo o mouse sobre ele?

Como fazer um ponteiro de um relógio girar sem parar?

Como faço pra colocar múltiplas senhas e múltiplos usuários num FlashMovie?

Integração ASP com Flash em um formulário com um combobox.

Como fazer um efeito de escalar imagens no mouseOver e no MouseOut?
Menu arrastável, estilo Windows.

Atenuação (easing).

Plugins variados para seu trabalho em design

Integrando o Flash com Arquivos de Vídeos II.

Adicionar ao favoritos

CD Record (um player com clips arrastáveis).

EmbedFonts e Mini-dicionário Style

0wn3d Again BY Destution Team

Conversão de Datas e Horas em Servers Estrangeiros (Flash+Asp).

GetMySQLData para Flash5 (segunda parte)

Troca de cor de imagens

Funções SetInterval e clearInterval no FlashMX.
Fogos rastro

Galinha

Alpha dinâmico

Bate e volta

Movimento e zoom

Shot me

Interative

Flying letters

Swirl

Lineas

Rolltext com mask

Alphacolor
HOME | TUTORIAIS
Utilização da class XMLConnector
por Pedro Claudio

Diferentemente da forma que utilizamos o XMLConnector anteriormente, iremos acessar a class XMLConnector através do import.

Uma curiosidade desta classe, ela é um dos pacotes do arquivo precompilado XMLConnector.swc, e o import será feito como está em sua declaração, e o compilador já está configurado para identificar, esta classe e mais algumas outras, desta forma, digo isto porque o arquivo XMLConnector.as está armazenado no local que será feito o import.

Para prevenção de erros, na carga dinâmica do componente, foi utilizado o try-catch-finally, este foi usado neste código porque serão provocados erros de carga. E com o uso deste, a ocorrência dos erros não prejudicará o processamento do swf, e a mensagem de erro não será produzida pelo tratamento do erro e sim pelo status da carga, para um tratamento mais apurado deste erro seria necessário o desenvolvimento de uma classe estendida da classe XMLConnector, o que não será visto aqui, e para isso você precisaria dos pacotes XMLConnector.swc.

Para saber mais sobre try-catch-finally, throw e tratamentos de erros favor consultar o manual Macromedia.


Para visualizar o que o XMLConnector produz de informação e mais os dados solicitados precisamos dos seguintes componentes e suas respectivas instâncias:
- Combobox -> select;
- TextArea -> XMLConnectorStatus;
- TextArea -> XMLConnectorResult.
- E mais um componente XMLConnector na biblioteca deste filme.


//acessando a classe XMLConnector
import mx.data.components.XMLConnector;
//cria connector
var myXMLConnector:XMLConnector = new XMLConnector();
//informa a direção dos dados
myXMLConnector.direction = "receive";
//component deve ignorar espaços em branco no xml
myXMLConnector.ignoreWhite = true;
//Populando o combobox
select.dataProvider =
[
{label:"", data:""},
{label:"Carregar xml", data:"xml.xml"}, //xml existe
{label:"Provocar erro", data:"erro.xml"} //xml não existe
];
//Objeto que receberá as funções de todos os eventos
// ligados ao combobox e ao xmlconnector.

carregador = new Object();
//Evento ligado ao Combobox
select.addEventListener("change", carregador);
carregador.change = function(evt) {
/*
try - catch - finally: utilizados para o tratamento de exceções;
throw: cria uma mensagem de exceção;
*/
/*
O try isola o erro caso ocorra. Existindo o erro será produzida a menssagem
de erro com a throw, porém o erro não afetará a execução do swf.
*/

   try {
      if(evt.target.value.length) {
      //Esta linha de código equivale ao campo URL da janela de
      //propriedades.
         myXMLConnector.URL = evt.target.value;
         //Executa a conexão do xml com flash através do xmlconnector informado.
         myXMLConnector.trigger();
      }else{
      //especifica uma mensagem de erro
         throw "Nenhum arquivo foi informado!";
      }
   } catch (e) {
/*
A catch só será executada quando uma mensagem de erro for definida.
Para o tratamento da exeção do erro do XMLConnector é necessário
extender a class XMLConnector, assim como alguns tipo de dados.
Quando o tratamento de erro for implemetado e atribuido a uma catch, esta
não identificará outros erros.
No nosso caso não atribuimos nenhuma mensagem à catch.
*/

      XMLConnectorResult.text="";
      //alterndo cor da fonte no TextArea XMLConnectorStatus
      XMLConnectorStatus.setStyle("color", 0xFF0000);
      //Informando erro
      XMLConnectorStatus.text = e;
/*
Flag de status, ele não deixará que seja exibido o erro
mais de uma vez, isto porque ocorrendo o erro o
xmlconnector tenta uma segunda vez, e a mensagem de
erro só é produzida da primeira vez
*/

      this.completo = false;
   } finally { //Sempre será executado, independente da ocorrência de erro.
      this.completo=true;
   }
};
//Evento de status de excução do xmlconnector
myXMLConnector.addEventListener("status", carregador);
carregador.status = function(describe) {
   if (this.completo) {
   //Limpa os TextArea
      XMLConnectorStatus.text = XMLConnectorResult.text="";
      this.completo = false;
      //Testa qual o tipo da ocorrência
      if(describe.code=='StatusChange'){
      //Restaura cor da fonte do TextArea de debug
      //'XMLConnector.status'.
         XMLConnectorStatus.setStyle("color", 0x0B333C);
         //O TextArea recebe o xml como ele foi carregado pelo
         //XMLConnector.
         XMLConnectorResult.text = myXMLConnector.results;
      }else{
      //Ocorrendo um dos erros acima a cor da fonte será alterada
         XMLConnectorStatus.setStyle("color", 0xFF0000);
      }
      //Realizando dump do status no TextArea XMLConnectorStatus
      XMLConnectorStatus.text = "status.target="+describe.target+" \n status.data.faultcode="+describe.data.faultcode+" \n status.data.faultstring="+describe.data.faultstring+" \n status.code="+describe.code+" \n status.type="+describe.type+" \n";
   }
};
carregador.completo=true;

Um possível erro pode ser contornado, porém minimizem-no ao máximo que puderem, isso porque o item Using error handling and debugging nos alerta.

Baixe aqui os arquivos relacionados a esse tutorial



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