RÔMULO NUNES (32 pts)

EDUARDO WALMOTT (226 pts)

DENIS CARAVALHO (85 pts)

MARCELO SIQUEIRA (96 pts)

STICKMAN (155 pts)

NILTON BICALHO (61 pts)

SYDNEY GANHO (60 pts)

NETO LEAL (116 pts)

LUIZ HERRERA (117 pts)

GÉRIO (93 pts)

RICARDO TEIXEIRA (40 pts)

MUZAK (45 pts)
Treinamento PontoFlash de Flash e ActionScript

Poderia me explicar um pouco mais sobre o arrays dentro de objetos?

Método sendAndLoad do objeto LoadVars mais fácil.

Qual a vantagem de exportar alguma coisa do Fireworks para o Flash?

Tenho três nomes e para cada um queria mandar o usuário para uma cena diferente.

Arredondando números com casas decimais.

Porque a extensão PHP3 não está funcionando no meu servidor Apache?

Como criar movieclips dinamicamente com uma escala e um alpha no mouseOver?

Como faço pra mudar o nome de uma variável em tempo real?

Queria declarar valores para uma variável importada de um arquivo TXT.

Eu gostaria de saber como faz o efeito de desfoque nos objetos.

Como classificar um array por um de seus itens?

Como fazer um efeito de escalar imagens no mouseOver e no MouseOut?

Preciso criar uma interação Asp + Flash para login e senha.

Porque o Flash não reconhece casas decimais e vírgulas numa operação matemática?
Integração Flash X ColdFusion.

Bookmak (Adicionar a favoritos).

Primeiros passos - apresentação

Um contador Flash + PHP

Objeto array - Arrays X Objetos

Fade Out.

Como enevoar as bordas de uma imagem no Fireworks.

Alterar a parência dos componentes do FlashMX.

Quando usar vetor ou bitmap?

Roof e Marciowebmaster - Avaliação de sites

Degradé com tons metálicos - Fireworks

Barra de rolagem simples no Flash5.
Click drag and release

3d cube2

Drag and run

Corrente

Stereo Control

Message Board Flash+ASP

Esconde scroll

Bola reflexo

Timer

Lights many 2

Menu HitTest

Customcursor
HOME | TUTORIAIS
Flash MX 2004 - semelhanças com o modelo NET?
por Ken Awamura

Introdução

Bom, pelo que deu pra notar, a chegada das novas versões da linha Macromedia MX, ié MX 2004 já causou um certo auê na comunidade de usuários das ferramentas, principalmente em relação ao Flash MX 2004.

Muitas novidades, novo IDE, mais Components, novo AS - Actionscript (2.0), etc. E tenho visto muita gente dizer que ele está lento, travando, problemas no Editor do AS, etc. Acredito que isto possa ocorrer devido à configuração de Hardware e não necessariamente por parte do Flash. Minha máquina é Intel e nada on-board na placa mãe e ainda não apresentou estes problemas. (É bem veinha : PIII 750 com 524Ram PC100). Mas é só uma suposição!

Independente disso, muitas novidades e funcionalidades para aprender! Tanto em relação ao modo de usar o IDE, configurações de janelas, novo Actionscript que na minha opinião não chamaria de novo, mas sim de adaptado para standards de linguagens como Java e C# (a que utilizo), ou melhor dizendo, padrões de OOP. Mas o OOP do Flash será (acredito eu) sempre adaptado para o Flash, que possui uma característica única (ex. MovieClip é unique do Flash).

O engraçado e interessante é que a medida que o Flash evolui, tenho a sensação de que ele tende para uma espécie de plataforma ou mini-plataforma, ié assim como existe o ambiente/run-time Java, a plataforma .NET, parece estar surgindo um equivalente para o Flash.

Para quem desenvolve somente com Flash isto passa desapercebido, porém quem desenvolve em Java e/ou .NET (principalmente) acredito que isso comece a fazer sentido. Aliás, desde o Flash MX 6.0 e principalmente depois do Flash Remoting comecei a notar esta tendência Macromedia Flash ao modelo Microsoft.NET

Nota : neste ponto quero declarar que não estou defendendo nenhum lado da moeda, somente tirando conclusões! e dúvidas também, pois do que sei a Macromedia possui uma relação com Java/Sun muito forte, pois produtos como Coldfusion tem base em servers como JRun e ao mesmo tempo o modelo Flash fica parecido com algo da Microsoft? Hum, sei que vai ter gente gritando o contrário! Mas não vamos discutir isso agora, please.

É exatamente sobre isso que decidi escrever. O modelo Flash está muito parecido com o modelo .NET e a seguir vou mostrar algumas das similaridades.

Comparação

Start Page

Página Inicial do VS.NET

Página Inicial do Flash MX 2004

Os dois IDEs utilizam o conceito de uma Start Page onde ao iniciar o aplicativo esta página serve como quick links para as principais funcionalidades e tarefas que possam ser executadas. Se isso é bom, não sei. Tanto no VS.NET como no Flash, dependendo do dia, acho legal e às vezes annoying, ié: vivo habilitando e desabilitando isso.

Solution Explorer

Solution Explorer do VS.NET

Project Explorer do Flash MX 2004

Os dois possuem funcionalidades muito similares, ié: a organização de arquivos em um pacote chamado Project, que pode conter pastas, imagens, .flas, enfim todos os arquivos pertencentes ao projeto. Ele equivale ao gerenciamento via Windows Explorer, portanto muito útil. No VS.NET o conceito se abrange com o uso de Solutions que por sua vez pode conter vários Projects, inclusive misturando projetos web (WebForms), Windows Desktop (WinForms), WebServices, etc. Mas a idéia e o objetivo são os mesmos e muito úteis por sinal.

Componentes

VS.NET

Flash MX 2004

Componentes muito similares e muito úteis também surgem no MX 2004. O Datagrid é mão na roda quando você precisa mostrar dados formatados e tabulares. Combine um UI Component com um Data Component e veja o poder e praticidade no desenvolvimento de aplicativos integrados à um repositório de dados (BDs). Definitivamente algo necessário se você quiser desenvolver aplicativos integrados com o Flash.

Webservices

VS.NET

Flash MX 2004

Forms

VS.NET

FlashMX2004

Actionscript

Parece que está difícil para a Macromedia estabelecer um formato e padrões definitivos para o Actionscript que muda de versão para versão.

A Macromedia alega que o ActionScript 2.0 é simplesmente uma formalização do Actionscript 1.0 : The OOP model provided by ActionScript 2.0 is a "syntactic formalization" of the prototype chaining method used in previous versions of Macromedia Flash to create objects and establish inheritance. (Veja Help / Creating Classes with AS 2.0 overview)

Até concordo, porém para desenvolvedores que nunca programaram em Java, C#, C++ tudo isso parece a princípio, algo totalmente novo. Na minha opinião, o lado negativo disso é o fato que padrões estabelecidos anteriormente não funcionam ou não se encaixam em padrões novos.

Imagine que você e sua equipe resolvam estabelecer que as declarações de variáveis obedeçam o formato Camel Case (myVar) para variáveis locais e Pascal Case (MyVar) para member fields e derrepente depois de alguns anos mude o chefe da equipe e ele decida por inverter o formato ... se a linguagem de programação utilizada for case-sensitive, com certeza surgirão problemas.

Veja : Coding Techniques and Programming Practices

Além disso a quantidade de elementos obsoletos cresce a cada nova versão: os famosos Deprecated Elements. (Basicamente o modo que escrevíamos o AS 1.0 está deprecated/defasado/obsoleto em relação ao AS 2.0)

Veja : Help / Object-oriented programming with ActionScript 1 overview

Mas acredito que isso aconteceu pelo fato de o Flash não ter sido (no início) projetado como uma ferramenta que iria suportar estes recursos, principalmente os de ActionScript, aliás nem tinha AS antigamente. O lado bom é que agora podemos declarar uma Classe de modo bem similar à linguagens como Java e C# e instanciamos a Classe, ié criamos seu Objeto de modo similar também.

Classes

ActionScript 1.0

// Declaração

function Pessoa( nome, idade)
{
   this.nome = nome;

   this.LerInfo = function()
      {
      return this.nome + " " + this.idade;
   }
}

// Instância : criação do Objeto

p1 = new Pessoa( Paulo, 18);
p1 = new Pessoa( João, 25 );

ActionScript 2.0

class Pessoa
{
   private var nome:String;

   // Constructor
   function Pessoa( nome:String )
   {
      this.nome = nome;
   }

   private function MostrarNome()
   {
      return nome;
   }
}

O Flash MX 2004 exige que uma classe, neste caso a classe Pessoa deva ser salva em um arquivo .as externo com o mesmo nome da classe: Pessoa.as

A classe poderá então ser instanciada dentro do Flash IDE da seguinte maneira:

var p:Pessoa = new Pessoa("José");
var p:String = p.MostrarNome();

trace(p)

C#

public class Pessoa
{
   private string nome;

   public Pessoa( string nome )
   {
      this.nome = nome;
   }

   private string MostrarNome( string nome )
   {
      return nome;
   }
}

Pessoa p = new Pessoa();
p.nome = "João";
MessageBox.Show( p.MostrarNome() );

O modelo do AS 2.0 ficou melhor, porém acho ainda confuso a declaração de variáveis e a criação de objetos, quando comparado com o C#:

Ex:

AS 2.0: private var nome:String;

comparado com

C#: private string nome;

Mas agora existe um padrão o que é muito importante. Só espero que isso não mude nas futuras versões do ActionScript!!!

Packages

O ActionScript 2.0 traz também o conceito de Packages para a organização das classes. O Java utiliza este conceito e o .NET o utiliza com o nome de Namespaces.

Um Package é simplesmente um diretório onde está armazenado a classe. Se sua classe está localizada junto com seu arquivo .fla então a chamada à esta classe será pelo simples nome da classe, NomeDaClasse(). Se a classe está em um diretório chamado MyClasses, então a chamada deverá ser por MyClasses.NomeDaClasse().

Veja : Help / Using Packages
Veja : File / Publishing Settings / Actionscript Settings

Semelhança em C#:

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;

namespace Google_Web_APIs_Demo
{
   public class Form3 : System.Windows.Forms.Form
   {
      private System.ComponentModel.Container components = null;

      private string nome;

      public Form3()
      {
         InitializeComponent();
      }

      protected override void Dispose( bool disposing )
      {
         if( disposing )
         {
            if(components != null)
            {
               components.Dispose();
            }
         }
         base.Dispose( disposing );
      }
   }
}

Try/Catch/Finally

Não imaginei que eles iriam implementar tratamento de erros com try/catches, mas isso é um recurso maravilhoso e permite capturar erros, tratá-los, e evitar que o aplicativo trave. Não testei a fundo isto no Flash, mas espero que funcione da mesma forma que em C#.

Basicamente a funcionalidade disso é a seguinte:

1. Try : executa o código

2. Catch : pega o erro, se existir

3. Finally : executa o que for independentemente de existir erro ou não

Exemplo :

try
{
   // Conectar Banco de Dados
}
catch( Exception err )
{
   // Se ocorrer erro, pego o erro aqui
   // O aplicativo não trava e descarto o Banco de Dados no Finally
   throw err;
}
finally
{
   // Dispose Banco de Dados
}

Veja : Help / Error messages overview
Veja : Help / Try..Catch..Finally

Get/Set Properties

Este é um conceito existente em linguagens OOP modernas. E através do uso de Properties, temos uma forma elegante de proteger uma variável (member field) pertencente à uma classe atribuindo e lendo seus valores com a utilização de 2 métodos embutidos chamados Get e Set.

Exemplo: suponha uma classe com um member field chamado idade

var idade:String;

Agora suponha os métodos Get/Set:

function get Age():String
{
   return idade;
}
function set Age(age:Number):Void
{
   age = idade;
}

Note que set Age somente atribui um valor, portanto não retorna nada (void), já o método get Age, recebe o valor atribuído e o retorna para o elemento chamador. Não existe uma obrigatoriedade na utilização de Properties, porém é um bom costume sua utilização.

Veja: Help / Implicit Get/Set Methods

Em C# :

public class Idade
{
   private int idade = 0;

   public int IdadeProperty
   {
      get
      {
         return idade;
      }
      set
      {
         idade = value;
      }
   }
}

public class TestaIdade
{
   public static int Main(string[] args)
   {
         Idade id = new Idade();

         id.IdadeProperty = 25; // set

         Console.WriteLine("Idade: {0}", id.IdadeProperty); // get

         return 0;
      }
}

Bom, existem muitos outros recursos novos que não foram abordados aqui, tanto em relação ao Actionscript 2.0 como em relação as novas funcionalidades do ambiente de desenvolvimento do Flash MX 2004, incluindo novas ferramentas, formatações de texto com CSS, novas teclas de atalho ... tristeza para quem estava acostumado com as atuais :(

   Mas independente das novidades, que sempre existirão em cada nova versão, a intenção era chamar a atenção para similaridade entre muitas coisas que a Microsoft lançou no .NET Framework, C#, Visual studio .NET em relação as funcionalidades que o Flash MX 2004 apresenta.

   Particularmente acho muito bom isso, pois desenvolvo com .NET há quase 2 anos. Porém lembro que há um tempo atrás a Macromedia foi processada pela Adobe por ter copiado o modelo de paleta de suas ferramentas ficando parecido com o Photoshop. Mas isso não é um problema meu, certo?

O conteúdo deste artigo foi escrito por Ken Awamura e em nenhuma hipótese implica em definições de regras e conceitos. Este texto somente reflete algumas idéias e conclusões pertencentes ao Autor.

MARCAS: Microsoft, Macromedia, Adobe, Flash MX 2004, Visual Studio .NET, C#, Java, C++, Visual Basic, Sun, Photoshop e outros nomes de produtos aqui mencionados são marcas ou marcas registradas das empresas aqui mencionadas e podem ser marcas de seus respectivos titulares.

Ken Awamura brinca com Flash desde 1998 e desenvolve aplicativos Windows, Web, Mobile e Web Services com a plataforma Microsoft .NET e C#. Tem formação em Bacharelado em Informática, detestou os anos de Engenharia Elétrica, curtiu morar no Japão e USA, detestou a Austrália, possui um livro sobre Actionscript lançado pela Visual Books (hoje deprecated, hehehe), acha que detesta o Brasil porque não rola HardRock (mas isso é mentira, pois tem uma mulherada) e parece estar sempre com fome :) e isso é verdade!



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