BlogBlogs.Com.Br

sexta-feira, 28 de novembro de 2008

Inverter String com ActionScript 3

Inverter uma String ou seja deixar a palavra ao contrário não leva mais que uma linha usando ActionScript 3.0 . Segue o código abaixo:
var txt:String = new String(“Flash”);
trace(txt.split("").reverse().join(""));
// output “hsalF”
O funcionamento é bem simples. O método split(), converte a seqüência de caracteres em um array, o argumento passado dentro dos parenteses é o delimitador (o que não vai ser convertido como elemento de um array.). Usando “” como argumento cada caractere é colocado em uma posição do array ( se nada for passado como parâmetro, a palavra toda se torna o elemento do array).
O método reverse(), inverte a seqüência e join(), converte novamente para uma String. O argumento passado dentro dos parentes corresponde ao espaçamento entre os caracteres. Usando “”, dizemos que nenhuma separação será necessária.

segunda-feira, 17 de novembro de 2008

Converter uma String no nome de uma instância de um objeto com ActionScript 3.0


Pode ser de grande utilidade converter uma string para o nome de uma instância de um movie clip. Para fazer isso usamos [] “colchetes” que são úteis tanto para indicar posições em um array quanto para fazer associação para o acesso de um objeto.

function myFunc():void {
for (var i=0; i!=max; i++) {
myArr[i]=this["movieClip"+i];
myArr[i].buttonMode = true;
myArr[i].addEventListener(MouseEvent.CLICK, mcEvent);
}

O código acima faz essa conversão. A string movieClip é transformada no nome da instância de um movie clip presente no stage (neste caso o nome da instância seria movieClip0, movieClip1, etc).
O array (myArr) vai armazenando todas as instâncias e qualquer propriedade pode ser acessada.

domingo, 2 de novembro de 2008

XML e ActionScript 3.0


O XML apresenta muitas vantagens para a manipulação e compartilhamento de dados de forma organizada (tanto para humanos quanto para máquinas).

É possível trabalhar com esse formato com ActionScript 3.0 , seja de forma local ou remota. Os arquivos XML são comumente usados como resposta de web Services e por essa razão segue um breve tutorial de como funciona XML + AS 3.0 .

var loader:URLLoader = new URLLoader();
var xml:XML;
loader.addEventListener(Event.COMPLETE , onLoaded);

function onLoaded (E:Event):void {
xml = XML(E.target.data);
trace(xml);
}

loader.load(new URLRequest("teste.xml"));

É declarado um objeto da URLLoader que é capaz de carregar texto e até mesmo dados binários.
Também é declarado um objeto do tipo XML.
Um listener ( ouvinte ) é adicionado ao loader. Quando o carregamento estiver completo a função onLoaded é chamada.
O carregamento se dá pelo método load, passando como parâmetro a URLRequest contendo o endereço do XML. Neste caso, o XML é carregado localmente.
O objeto xml recebe o conteúdo carregado pelo loader. Como xml é do tipo XML, ocorre uma conversão de tipos no momento dessa atribuição.

  • Dicas sobre manipulação de XML:

Para obter um ponto (nó) específico do xml em questão basta seguir a hierarquia dos nós usando um ponto.

trace(xml.tag1.tag2);

Como dito anteriormente é comum ter XMLs como retorno de web services. Neste caso o XML recebido terá algumas tags “lixo” geradas pelos protocolos dos web service. Essas tags podem causar uma “confusão”, sendo assim para referenciar um nó específico deve-se usar:

trace(xml..*::tag[0].text());
Abaixo um link de uma aplicação (AS 3.0) consumindo um web service que retorna um XML.
link