EDUARDO PERROUD (52 pts)

LEANDRO AMANO (83 pts)

SASHA GUDEY (235 pts)

GUILHERME SCHEIBE (49 pts)

AMAURY BENTES (123 pts)

BÁRBARA TOSTES (64 pts)

DEN IVANOV (260 pts)

EDUARDO CARREGA (150 pts)

HELEN TRIOLO (444 pts)

MAURO ROCHA TAVARES (40 pts)

JOÃO NETO (78 pts)

SYDNEY GANHO (60 pts)
Treinamento PontoFlash de Flash e ActionScript

Há uma propriedade para um campo de texto que impeça a digitação de caracteres repetidos?

Problemas com actions condicionais.

Como criar uma array (matriz) bi-dimensional (N linhas por 3 colunas)?

Será possível formatar texto via CSS fonte, tamanho, cor, espaçamento entrelinhas avanço e avanço de paragrafo?

Como se faz um menu em cascata?

Um movie clip, em uma cena, pode continuar, em outra cena, de onde parou?

Como usar um loop FOR?

Existe alguma forma de o flash detectar se um load movie já foi carregado e executar uma ação depois disso.

Como posso rotacionar algum objeto?

Gostaria que um .exe abrisse em tela cheia. Queria colocar um autorun também.

Não estou conseguindo fazer uma animação para if frame is loaded.

Estou com um problema de variável e condicionais no Flash.

Como é que eu faço com que ao ser pressionada qualquer tecla, meu filme recue um frame.

Um preload (carregador) para carregar swf, jpg, mp3, txt, asp, php e xml.
Executar funções de JavaScript (Flash+JavaScript).

Formulário de e-mail com ASP.

Preloader com máscara

Movimento por meio de actionscript

Comunicação Flash-PHp-MySql - introdução

Rotacionar objetos 3D no Flash.

Níveis dentro do Flash - Load Movie e Load Variables (primeira parte)

Comunicação Flash-PHp-MySql - Objeto LoadVars

Formatação Encoded e Decoded

Duplicate Movieclip.

Criando um Editor HTML com o MM Flash

Color changer
Timer

Rastro Luis

Flying letters

Code Elastic

Sashacircle 2

Mouse Hide

Menu com abas

Position

Arion 3

Notícias

Drawpad

Abrir popup
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