Classe FileReferenceList (Português)

ActionScript 3.0, Adobe AIR, Adobe Flash, Adobe Flex, Orientação a Objetos Deixe um comentário »

Fonte: http://livedocs.adobe.com/flex/201/langref/flash/net/FileReferenceList.html 

A classe FileReferenceList fornece recursos para permitir o usuário selecionar um ou mais arquivos para upload. Um objeto FileReferenceList representa um grupo de um ou mais arquivos locais no disco do usuário como um array de objetos FileReference.

Para trabalhar com a classe FileReferenceList:

  •  Instanciar a classe: var frl:FileReferenceList = new FileReferenceList();
  • Chamar o método FileReferenceList.browse(), que abre uma janela que permiete o usuário selecionar um ou mais arquivos para upload: frl.browse();
  • Depois o método é browse() ser chamado com sucesso, a propriedade fileList do pobjeto FileReferenceList é populado com um array de objetos FileReference.
  • Chame FileReference.upload() em cada elemento do array fileList.

A classe FileReferenceList inclui um método browse() e uma propriedade fileList para trabalhar com múltiplos arquivos. Enquanto uma chamada para FileReferenceList.browse() está em execução, o arquivo pausa a reprodução em stand-alone e players externos para Linux e Mac OS X 10.1 e versões anteriores.

Propriedades Públicas

  • fileList:Array – [somente leitura] Cria um novo objeto FileReferenceList.
  • browse(typeFilter:Array):Boolean – Apresenta uma janela que permite o usuário selecionar um ou mais arquivos para upload.

Eventos

  • cancel – Disparado quando o usuário fecha a janela.
  • select – Disparado quando o usuário seleciona um ou mais arquivos para upload de uma janela de arquivo

Classe FileReference (Português)

ActionScript 3.0, Adobe AIR, Adobe Flash, Adobe Flex, Orientação a Objetos Deixe um comentário »

Resolvi traduzir, apesar do meu inglês não ser muito avançado, da documentação da Adobe, para que todos tivessem um conhecimento maior da classe FileReference e de outras que pretendo traduzir. 

Essa especificamente agora, pois estarei postando aqui no Blog um tutorial de como desenvolver um MultiFileUpload com Flex e PHP.

Se alguma tradução não estiver de acordo, mande um e-mail, deixe um comentário. 

Boa leitura! 

FileReference 

Fonte:  http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/FileReference.html

A classe FileReference fornece recursos para upload e download de arquivos entre o cliente e o servidor. Uma janela avisa o usuário para selecionar um arquivo para upload ou um local para download. Cada objeto FileReference referencia um único arquivo no disco do usuário e tem propriedades que contêm informações sobre o arquivo: Tamanho, tipo, data de criação, data de modificação e tipo do criador (somente Macintosh).

Instâncias FileReference são criadas em dois passos:

  • Quando você usa o operador new com o construtor FileReference: var fr:FileReference = new FileReference();
  • Quando você chama o método FileReferenceList.browse(), que cria um array de objetos FileReference.

Durante a operação de upload, todas as propriedades de um objeto FileReference são populados por chamadas para os métodos FileReference.browse() ou FileReferenceList.browse(). Durante uma operação de download, a propriedade name é populada quando o evento select é disparado, todas as outras propriedades são populadas quando o evento complete é disparado.

O método browse() abre uma janela do sistema operacional para o usuário selecionar um arquivo para upload.

O método FileReference.browse() pemite o usuário selecionar somente um arquivo; o método FileReferenceList.browse() permite o usuário selecionar múltiplos arquivos. Depois de uma chamada bem sucedida do método browse(), chame o método FileReference.upload() para fazer o upload de um arquivo de cada vez.

As classes FileReference e FileReferenceList não permitem definir o local padrão de arquivos para a caixa de diálogo que os métodos browse() ou download() geram. O local padrão mostrado na caixa de diálogo é a pasta que recentemente foi mais acessada, se aquele local puder ser determinado, ou o desktop. As classes não permitem ler ou escrever a partir do arquivo transferido. Elas não permitem que o arquivo SWF que iniciou o upload ou download acesse o arquivo baixado ou a localização no disco do usuário.

As classes FileReference e FileReferenceList também não fornecem métodos para autenticação. Como servidores que requerem  autenticação, você pode baixar arquivos com o Flash Player, mas upload (em todos players) e download (no stand-alone ou player externo) falha. Observe os eventos FileReference para determinar se as operações foram concluídas com êxito e para tratar os erros.

Para operações de upload e download, um arquivo SWF pode acessar somente dentro do mesmo domínio, incluindo alguns domínios que estiverem especificados em um arquivo cross-domain policy. Coloque um arquivo policy no servidor se iniciar upload ou download de outro servidor de arquivos.

Enquanto chamadas para o FileReference.browse(), FileReference.browse(), FileReferenceList.browse(), ou FileReference.download() são executadas, o arquivo SWF pausa a reprodução em stand-alone e players externos para o Mac OS X 10.1 e anteriores.

Propriedades Públicas

  • creationDate : Date - [somente leitura] A data de criação do arquivo no disco local.
  • creator : Strng – [somente leitura ] O tipo criador de arquivo do Macintosh, que só é usado no Mac OS em versões anteriores ao Mac OS X.
  • extension : String – [AIR][somente leitura] A extensão do arquivo.
  • modificationDate : Date – [somente leitura] A data que o arquivo foi modificado no disco local.
  • name : String – [somente leitura] O nome do arquivo no disco local.
  • size : Number – [somente leitura] O tamanho do arquivo no disco local.
  • type : String – [somente leitura] O tipo de arquivo.

Métodos Públicos

  • FileReference() – Cria um novo objeto FileReference.
  • browse(tipeFilter:Array = null):Boolean – Apresenta uma janela que permite o usuário selecionar um arquivo para upload.
  • cancel():void – Cancela qualquer operação de upload ou download em curso neste objeto FileReference.
  • download(request:URLRequest, defaultFileName:String = null):void – Abre uma janela que permite o usuário baixar um arquivo de um servidor remoto.
  • upload(request:URLRequest, uploadDataFieldName:String = “FileData”, testUpload:Boolean = false):void – Inicia o upload de um arquivo selecionado por um usuário para um servidor remote.
  • uploadUnencoded(request:URLRequest):void – Inicia o upload de um arquivo para uma URL sem qualquer codificação.

Eventos

  • cancel – Disparado quando o upload ou download de arquivos é cancelado através de uma caixa de diálogo de navegação pelo usuário.
  • complete – Disparado quando download é completado ou quando o upload gerar um HTTP status código 200.
  • httpResponseStatus – [AIR] Disparado se a chamada para o método upload() ou uploadUnencoded tenta acessar os dados sobre HTTP e Adobe AIR é capaz de detectar e retornar o código de status da solicitação.
  • httpStatus – Disparado quando um upload falha e um status HTTP está disponível para descrever a falha.
  • ioError – Disparado quando uma operação de upload ou download falha.
  • open – Disparado quando uma operação de upload ou download inicia.
  • progress – Disparado periodicamente durante a operação de upload ou download.
  • securityError – Disparado quando uma chamada para o método FileReference.upload() ou FileReference.download() tenta fazer o upload de um arquivo de um servidor ou pegar um arquivo de um servidor que esteja fora do sandbox de segurança da chamada.
  • select – Disparado quando o usuário seleciona um arquivo para download ou upload de uma janela do sistema.
  • uploadCompleteData – Disparado após os dados serem recebidos pelo servidor depois de um upload bem-sucedido.

ActionScript 3.0 - Sintaxe

ActionScript 3.0, Adobe AIR, Adobe Flash, Adobe Flex, Orientação a Objetos 3 Comentários »

Para quem vem acompanhando o meu blog, talvez tenha percebido, ou não, que meu objetivo é escrever posts que se complementem e que para quem está iniciando o aprendizado em ActionScript 3.0, Flex ou mesmo o Flash, consiga ter uma sequência num aprendizado junto comigo.

Eu desenvolvo sites e sistemas web desde 2003 e no início, como todo iniciante, ficava ansioso para ver tudo funcionando na tela. Bom, durante este tempo aprendi que não adianta querermos aprender o avançado antes de termos uma base sólida nos conceitos fundamentais, seja o que for que estivermos estudando, por isso antes mesmo de desenvolvermos em ActionScript 3.0, é importante saber como a linguagem deve ser escrita, ou seja, qual a sua sintaxe.

A sintaxe de uma linguagem define as regras que devem ser seguidas quando escrever código executável.

Case sensitivity

ActionScript é uma linguagem case-sensitive, o que significa que os identificadores diferem em case (letras maiúsculas de minúsculas). Abaixo, como exemplo duas variáveis diferentes:

var num1:int;
var Num1:int;

Sintaxe de ponto (Dot sintax)

O operador ponto (.) disponibiliza um caminho para acessar as propriedades e métodos de um objeto. Por exemplo, considere a classe:

class ExemploPonto {
	public var prop1 : String;
	public function metodo1() : void {}
}

Acessando a propriedade e o método da classe a partir de uma instância.

var meuPonto : ExemploPonto = new ExemploPonto();
meuPonto.prop1 = “oi”;
meuPonto.metodo1();

Podemos usar dot sintax para definir pacotes, usando o operador ponto (.) para referir-se a pacotes internos. Por exemplo, a classe EventDispatcher está dentro de um pacote chamado events, que está dentro de um pacote chamado flash. Você pode fazer referencia ao pacote events usando a seguinte expressão:

flash.events

Você também pode referir-se a classe EventDispatcher usando esta espressão:

flash.events.EventDispatcher

Literais
Um literal é um valor que aparece diretamente no seu código. Os exemplos abaixo são todos literais:

17
"oi"
-3
9.4
null
undefined
true
false

Literais também podem ser agrupados para formar literais compostos. Arrays literais são escritos dentro de colcheteses ([ ]) e são usadas virgulas para se separar os elementos do array.

Um array literal pode ser usado para inicializar um array. Abaixo exemplo de dois arrays sendo inicializados usando arrays literais. Você pode usar a declaração new e passar o literal composto como um parâmetro para o construtor da classe Array, mas você também pode declarar valores literais diretamente quando instancia instâncias das classes: Object, Array, String, Number, int, uint, XML, XMLList e Boolean.

// Usando a declaração new.
var minhasStrings:Array = new Array(["alpha", "beta", "gamma"]);
var meusNumeros:Array = new Array([1,2,3,5,8]);
// Declarando diretamente com literais.
var minhasStrings:Array = ["alpha", "beta", "gamma"];
var meusNumeros:Array = [1,2,3,5,8];

Literais podem ser usadas para inicializar um objeto genérico. Um objeto genérico é uma instância da classe Object. literais Object são colocados dentro de chaves ({ }) e usa vírgulas para separaras propriedades do objeto. Cada propriedade é declarada com dois pontos ( : ), que separa o nome da propriedade do valor da propriedade. Você pode usar a declaração new e passar o literal composto como um parâmetro para o construtor da classe Object. Veja o exemplo a seguir:

// Usando a declaração new.
var meuObjeto:Object = new Object({propA:1, propB:2, propC:3});
// Declarando diretamente com literais.
var myObject:Object = {propA:1, propB:2, propC:3};

Ponto e vírgura ( ; )

Você pode usar ponto e vírgula para terminar uma declaração. Alternativamente, se você omitir o ponto e vírgula, o compilador irá assumir que cada linha de código representa uma declaração.

Parênteses

Você irá usar parênteses em 3 casos:

1. Para alterar a ordem das operações em uma expressão. Operações agrupadas dentro de parênteses são executadas primeiro.

trace(2 + 3 *4); //14
trace((2 + 3) *4); //20

2. Você pode usar parênteses com o operador vírgula ( , ) para avaliar uma série de expressões e retornar o resultado no final da expressão.

var a:int = 2;
var b:int = 3;
trace((a++, b++, a+b)); // 7

3. Você usa parênteses para passar um ou mais parênteses para funções ou métodos.

trace("oi");

Comentários

O código ActionScript 3.0 suporta dois tipos de comentários: um linhas e de várias linhas. O compilador ignora o que estiver marcado como um comentário.

// comentário de uma linha
/*
comentário
de várias
linhas

*/

Palavras-chave

Palavras-chave não podem ser usadas como identificadores em seu código, pois estas palavras são reservadas para o ActionScript. As palavras reservadas incluem palavras-chave léxicas, que são transferidas para o namespace do programa pelo compilador. O compilador pode retornar um erro se você usar uma palavra léxica como um identificador. Abaixo uma lista de palavrasa lexicas:

  • as
  • break
  • case
  • catch
  • class
  • const
  • continue
  • default
  • delete
  • do
  • else
  • extends
  • false
  • finally
  • for
  • function
  • if
  • implements
  • import
  • in
  • instanceof
  • interface
  • internal
  • is
  • native
  • new
  • null
  • package
  • private
  • protected
  • public
  • return
  • super
  • switch
  • this
  • throw
  • to
  • true
  • try
  • typeof
  • use
  • var
  • void
  • while
  • with

Este é um grupo de palavras-chave, chamado palavras-chave sintática, estas podem ser usadas como identificadores, mas tem um significado especial em certos contextos. Abaixo a lista de palavras-chave sintáticas:

  • each
  • get
  • set
  • namespace
  • include
  • dynamic
  • final
  • native
  • override
  • static


Estes também são alguns identificadores que às vezes são referidos como futuras palavras reservadas. Estes identificadores não são reservados para o ActionScript 3.0, apesar de terem que ser tratadas como palavras-chave para produtos ActionScript 3.0 incorporados. Você esta apto a usar vários destes identificadores em seu código, mas a Adobe recomenda você não usar pois poderão aparecer como palavras-chave em futuras versões da linguagem.

  • abstract
  • boolean
  • byte
  • cast
  • char
  • debugger
  • double
  • enum
  • export
  • float
  • goto
  • intrinsic
  • long
  • prototype
  • short
  • synchronized
  • throws
  • to
  • transient
  • type
  • virtual
  • volatile


Conhecendo a sintaxe estamos melhor preparados para desenvolver de forma mais sólida e correta.

Um abraço e até o próximo post!

Qual linguagem de programação?

ActionScript 3.0, Adobe Flash, Adobe Flex, souweb 7 Comentários »

Talvez você esteja acessando este site pela primeira vez, talvez por alguém ter indicado ou por que tenha o encontrado através do Google. Bom não importado como, irá perceber que aqui coloco muitos dos meus estudos, idéias e assuntos ligados a minha profissão.

Comecei a trabalhar com internet em 2003, atualizando um site, onde eu não desenvolvia ou editava qualquer espécie de código, apenas usava o Dreamweaver.

Com o tempo comecei a estudar HTML, Javascript, ActionScript 1.0, PHP, CSS, XML entre outras.

A maior ênfase foi dada ao ActionScript 1.0, a qual não era orientado à objetos propriamente dito, assim como o JavaScript, ambas são baseadas em protótipo.

Destas o ActionScript 1.0 que usava na programação de meus sites desenvolvidos em Flash 5, era baseada no JavaScript, ou seja, praticamente tudo que aprendi com essa linguagem pude utilizar na outra, assim como no PHP, que tem sua sintaxe muito similar, isso por que as três são derivadas da linguagem C.

Então, em pouco tempo é lançado o Flash MX, continuei programando em ActionScript 1.0, mas ao ser lançada a versão MX 2004 do programa, eu decidi começar a estudar a versão 2.0 da linguagem, que é baseada em Java e já trazia um grande avanço na questão OOP (Programação Orientada à Objetos).

Esta versão assim como nas outras, busquei aprender como autodidata, OOP que falo em vários posts deste site, foi o meu maior obstáculo, pois eu não conseguia entender todos aqueles paradigmas… afinal o que são classes? O que é um objeto? O que é herança? Polimorfismo então? Li muito sobre isso, mas não conseguia assimilar.

Começo então um curso de Java, no qual busco em um professor as respostas para todas estas perguntas. Mas não encontrei tudo que buscava, mas depois deste empurram, continuei por conta, estudando teoricamente os conceitos e aplicando-os no meu trabalho consegui entender por que e de que forma programar com linguagens OOP.

Em 2006, com este conhecimento adquirido, realizei minha tentativa de reconhecimento na área, realizando uma prova de certificação, para me tornar Adobe Certified Professional.

Em 2007, começo meus primeiros estudos da versão 3.0 do ActionScript, uma linguagem totalmente orientada à objetos, com algumas das classes que eu utilizava deixando de existir, dando lugar a novas, com mais recursos de desenvolvimento, uma linguagem forte, utilizada não só no Flash CS3, mas também no Flex, nas quais pretendo me certificar pela Adobe também, mas que serei obrigado e meter a cara nos livros e no Google novamente, se quiser ter êxito.

Contei aqui uma breve história da evolução dos meus conhecimentos sobre linguagens de programação, e o maior aprendizado que tive e quero compartilhar é sobre a escolha da sua primeira linguagem de programação ou das tecnologias que queira utilizar no seu desenvolvimento.

Existem diversas linguagens para se programar e independente qual foi ou será sua escolha é importante conhecer um princípio básico, que qualquer estudante de programação deve compreender.

Uma linguagem de programação não deve ser um fim em si mesma, mas um meio, uma ferramenta para se traduzir o que queremos numa lógica que os computadores entendam (algoritmo). A linguagem deve tão somente, refletir de maneira clara e facilmente compreensível os aspectos principais dos algoritmos.

Por tudo isso, devemos ter a preocupação de aprender a formulação sistemática e metódica de algoritmos, através de técnicas que são características da programação. Como já disse, existem diversas linguagens de programação, podemos aprender e utilizar quantas desejarmos.

Dizer qual a melhor é muito relativo. Existem os que defendem o VB.Net, o Java, o PHP e tantas outras. Na realidade a melhor linguagem para qualquer programador é a qual ele tem domínio.

Escolha sua primeira linguagem de programação com cuidado, pois de acordo com observações feitas por diversos especialistas, a maior parte das pessoas ficam ligadas para sempre à primeira linguagem que aprenderam, e quando aprendem uma nova linguagem, têm uma certa tendência em desenvolver os algoritmos segundo o vocabulário e regras sintáticas da primeira linguagem, só que escritas na nova.

A primeira linguagem deve, desta forma, ser tal que forneça possibilidades de desenvolver algoritmos lógicos, sistemáticos, facilmente compreensíveis segundo os métodos modernos de programação.

O que me deixa feliz apesar de todos estes percalços é saber que hoje trabalho com linguagens e tecnologias que evoluem a cada nova versão e ganham mais espaço.

Baseie suas escolhas em linguagens que seguem padrões, que evoluam e que dêem algo há mais que as outras, assim foi com Java, assim é com o Flex e o ActionScript. Claro que aqui estou defendendo a linguagem que conheço.

Até a próxima!

Site Básico no Flash CS3 com ActionScript 2.0

ActionScript 3.0, Adobe Flash, Webdesign 5 Comentários »

Desenvolver um site em flash muitas vezes pode parecer complexo… isso pode ser verdade em grandes projetos, mas neste tutorial estaremos desenvolvendo um site básico no Flash CS3 com ActionScript 2.0, de forma objetiva e simples. E antes que alguém envie uma mensagem pedindo por que ActionScript 2.0 e não ActionScript 3.0?

A resposta é simples… pretendo alcançar pessoas que procurem desenvolver sites em Flash compatíveis com versões anteriores do Flash Player as quais ainda se encontram em uso em muitos clientes. E devido as várias turmas de webdesign que ministrei com esta versão da linguagem, para os quais tenho a expectativa deste tutorial ser esclarecedor.

Não estarei entrando em detalhes básicos, como por exemplo, como importar um arquivo para o Flash ou como converter um objeto em MovieClip. Caso alguém, fique com dúvida quanto a parte mais básica, sinta-se à vontade em mandar um e-mail para eu@souweb.info ou para deixar um comentário.

O projeto será composto por 4 arquivos, o principal.fla que será o recipiente para os outros 3 arquivos que armazenam o conteúdo: empresa.fla, produtos.fla e contato.fla. Estes 3 arquivos inicialmente serão totalmente estáticos, sem nenhum evento de interação ou animação, pois estaremos nos focando totalmente no arquivo principal.fla.

Mas, futuramente estaremos tornando este site mais dinâmico, com animações e com carregamento de arquivos externos. Estes arquivos serão no formato XML para os dados (textos e outras informações) e imagens JPG para as fotos utilizadas no conteúdo. Esta dinamização do site, tornará mais fácil nosso trabalho de atualização e o site será mais leve e rápido.

Também, não estarei aplicando layout neste exemplo, mas fique à vontade em aplicar no seu desenvolvimento o layout que quiser.

Caso queira baixar os arquivos deste tutorial para utilizar no seu desenvolvimento ou poder verificar como foram desenvolvidos, clique aqui.

Inicialmente vamos criar os 3 arquivos que armazenam o conteúdo para que durante o processo de desenvolvimento do arquivo principal.fla, possamos ver tudo funcionando.

1. Crie um novo arquivo Flash File (ActionScript 2.0) e salve com o nome empresa.fla.

1.1. Vamos configurar o documento. Clique no menu Modify > Document e na janela Document Properties configure as dimensões para 700px de largura por 450px de altura e Frame rate de 20fps, conforme Imagem 1.

Document Properties - Empresa
Imagem 1 - Configuração dos arquivos que serão responsáveis pelo conteúdo.

1.2. Monte seu arquivo com o título EMPRESA, uma imagem ilustrativa e um texto institucional de exemplo, conforme Imagem 2.

Tela arquivo empresa.swf
Imagem 2 - Arquivo empresa.swf

1.3. Depois de concluído pressione as teclas CTRL+ENTER, para conferir se tudo foi publicado conforme esperado e para gerar o arquivo SWF, que será carregado pelo arquivo principal.fla.

2. Crie um novo arquivo Flash File (ActionScript 2.0) e salve com o nome produtos.fla e configure conforme passo 1.1.

2.1. Este arquivo terá o título PRODUTOS, 9 imagens ilustrativas, sendo 8 miniaturas medindo 105px de largura por 79px de altura e 1 ampliada medindo 447px de largura por 335px altura. Abaixo da foto ampliada iremos colocar uma descrição do produto. Pressione CTRL+ENTER e verifique o resultado é semelhante a Imagem 3.

Tela arquivo produtos.swf
Imagem 3 - Arquivo produtos.swf

3. Crie um novo arquivo Flash File (ActionScript 2.0) e salve com o nome contato.fla e configure conforme passo 1.1.

3.1. Este arquivo terá o título CONTATO, 1 formulário e informações de contato, conforme Imagem 4:

Tela arquivo contato.swf
Imagem 4 - Arquivo contato.swf

4. Vamos para a parte mais importante deste tutorial, o arquivo principal. Crie um novo arquivo Flash File (ActionScript 2.0) e salve como principal.fla,

4.1. Vamos configurar o documento. Clique no menu Modify > Document e na janela Document Properties configure as dimensões para 700px de largura por 580px de altura e Frame rate de 20fps, conforme imagem 5.

Propriedade do documento principal
Imagem 5 - Configuração do arquivo principal.fla

4.2. O arquivo principal.fla como você pode reparar tem a mesma largura que os demais documentos, mas a sua altura é maior, isto para que possamos acomodar no topo o logotipo do site e o menu de navegação. Neste menu, cada botão irá carregar um arquivo especifico (empresa.swf, produtos.swf ou contato.swf). Montei o layout conforme imagem 6, com o logotipo do meu blog e 3 botões ( que na verdade são instâncias de MovieClip, isso devido aos maiores recursos de animação que o MovieClip disponibiliza ).

Layout do arquivo principal.fla
Imagem 6 - Arquivo principal.swf

4.3. Os elementos na tela devem estar organizados em layers separadas para mantermos o arquivo organizado, o que irá facilitar possíveis alterações, pela praticidade que teremos em selecionar os elementos e pela facilidade de entendermos a estrutura do mesmo. Então Separe os itens conforme a Imagem 7, criando uma layer para o ActionsScript chamada “AS”, crie a layer “logo” onde será colocado o logotipo, os itens da navegação ficam na layer “menu” e crie também uma layer “alvo” para armazenar o MovieClip “alvo”, que é um MovieClip vazio, responsável por receber e armazenar o arquivo externo que será carregado via ActionScript.

Timeline e distribuição do conteúdo
Imagem 7 - Organização dos elementos na Timeline
.

4.3.1.1. Vamos criar o MovieClip “alvo”, pressione CTRL+F8 e nomeio como mc_alvo. Você irá perceber na parte inferior da Timeline, conforme Imagem 8, que ao criar um novo MovieClip, ficamos localizados dentro deste. Depois de criado retorne para a “Scene 1″ e com layer “alvo” selecionada, arraste da Library o MovieClip vazio para o Stage com o Instance Name “alvo_mc”.

Criando MovieClip alvo
Imagem 8 - Criando MovieClip “alvo”

4.4. Forneça um Instance Name (Nome de Instância) para cada botão conforme segue: empresa_mc, produtos_mc e contato_mc, onde este sufixo “_mc” colocado depois do nome do botão tem como objetivo ativar a janela de auto-completar assim que digitar após do sufixo o ponto final “.”. (Imagem 9).

Como instanciar
Imagem 9 - Instanciando o MovieClip btn_empresa, como “empresa_mc”.

4.5. Vamos para a janela do Flash onde tudo acontece…. Selecione o KeyFrame na posição 1 da layer “AS” e abra o painel Actions (tecla F9).

4.6. Nesta janela escreva o seguinte código:

var mcl : MovieClipLoader = new MovieClipLoader();
// Instanciamos um objeto da classe MovieClipLoader, a qual é responsável por carregar arquivos externos (.swf e .jpg) .
var listener : Object = new Object();
// Este objeto da classe Object será responsável por monitar o carregamento dos arquivos externos.
mcl.addListener(listener);
// Relacionamos os dois objetos, o que fará que o objeto “listener” monitore o objeto “mcl”
// Nota: Sempre que possível crie funções para organizar seus blocos de código… lembrando que funções são blocos de códigos mais legíveis e reutilizáveis.
function carregar(arquivo){
mcl.loadClip(arquivo, alvo_mc);
}
// A função “carregar” tem como objetivo facilitar alterações no nome da instância do MovieClip alvo do carregamento do arquivo externo, o qual iremos perceber sua real utilidade enquanto desenvolvemos.
carregar(”empresa.swf”);
// Chamo a função carregar para iniciar com o arquivo empresa aberto.
function ativarPreloader(ativar){
preloader_mc._visible = ativar;
}
// A função “ativarPreloader” tem o objetivo semelhante ao da função carregar, facilitando alterações no nome de instância do MovieClip “preloader”.

/* EVENTOS DO MENU */
empresa_mc.onRelease = function(){
carregar(”empresa.swf”);
}
produtos_mc.onRelease = function(){
carregar(”produtos.swf”);
}
contato_mc.onRelease = function(){
carregar(”contato.swf”);
}

Bom pessoal, termino aqui este post… mas não se desespere, já estou preparando o próximo, no qual torno este arquivo animado. Além, da sequência de posts, que detalho o desenvolvimento dos arquivos empresas, produtos e contato.

Espero que continuem lendo.

Um abraço!

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Login