LUI FERNANDO (151 pts)

BÁRBARA TOSTES (64 pts)

GABRIEL SPORCH (53 pts)

ILVA RUDEV (90 pts)

GUILHERME SCHEIBE (49 pts)

EDUARDO PERROUD (52 pts)

GÉRIO (93 pts)

RICARDO TEIXEIRA (40 pts)

RICARDO FIGUEIRA (33 pts)

MARLOS ALVES CARMO (90 pts)

SASHA GUDEY (235 pts)

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

Como deslocar um filme para um frame diferente dependendo de uma resposta?

Alguém poderia me dar umas dicas sobre o Flash Remoting?

E o FlashMX não aceita eval para gerar uma variável?

Queria fazer um objeto subir e descer sob o comando de botões no roll over.

Como eu defino a posição de um swf através do comando Load movie?

Como restringir a números um campo de texto de entrada?

Como gravar dados de um Flash em um arquivo .mdb (Access)?

Função chamada createFunctionCall, que permite criar uma função para executar uma outra função com certos parâmetros.

Preciso de uma função Javascript para fazer a tela tremer. E dá para fazer isso no Flash?

Como fazer para que um movieclip fique acima dos outros dinamicamente?

Como posso parar um movieclip no mouseOver? Pode ser com um operador condicional?

É possível usar campos dinâmicos em uma máscara?

Como faço um stop and play no som.

Como fazer um preloader bem simples?
Interação de Flash+Asp.

Scanline no PhotoShop.

Alinhamento de objetos no Corel Draw

Controlando um swf que está em outro frame

Trace Bitmap.

Máscara arrastável no Flash 4.

Como usar o Flash com o FrontPage?

O desenho animado abrindo sites.

Imagens transparentes usando PhotoShop, Fireworks e Flash.

Criação de letras transparentes - Fireworks

Mascara animada no Flash MX

Clica nuaicon - Photoshop 6
Loading trail

Spyral draw

Relógio analógico

Tangran

Typing

Theba

MX cria campo

Nudemask3

Folha dobrada

Preload leve

Alphacolor

Alfabetar
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