AS3 – Classe para controlar posição relativa

16 06 2009

Pra quem tem que trabalhar com aplicacoes multimidia, vira e mexe se debate com alguns desafios pra fazer em actionscript (as3).

Ha cerca de 3 meses, tenho dividido minha rotina diaria de trabalho entre aplicacoes multimidia e e-business.Com isso, tenho aprendido muita coisa… muita coisa mesmo.Sendo assim vou a partir de agora compartilhar com voces algumas de minhas pequenas, medias e grandes descobertas desta minha nova jornada profissional, e espero que com isso possa ajudar algum desenvolvedor de alguma forma.

Aqui vai uma pequena, essa classe em questao é pra controlar o posicionamento relativo de objetos em relacao a um objeto principal.Muito utilizado quando se tem que fazer zoom em uma imagem por exemplo, e esta imagem possui pontos que devem acompanhar e seguir na mesma posicao de acordo com o zoom ou movimento aplicado sobre a imagem (objeto principal).

Segue abaixo o código da classe controladora:

package com.confidential.components.utilities
{

import flash.events.Event;
import flash.events.MouseEvent;

import mx.core.UIComponent;

public class PositionRelative
{
private var _target:UIComponent;
private var _scaleXIni:Number;
private var _scaleYIni:Number;
private var _items:Array;

//Start position relative control
public function PositionRelative(target:UIComponent)
{
_target = target;
_scaleXIni = _target.scaleX;
_scaleYIni = _target.scaleY;

_target.addEventListener(Event.ENTER_FRAME, update);
_target.addEventListener(MouseEvent.MOUSE_DOWN, blockenterFrame);
_target.addEventListener(MouseEvent.MOUSE_UP, freeenterFrame);

_items = new Array();
}

//Add objects that will be controled
public function addItem(item:UIComponent):void
{
var reg:Object = new Object();
reg.item = item;
reg.x = item.x – _target.x;
reg.y = item.y – _target.y;
_items.push(reg);
}

//Update object position
public function update(e:*=null):void
{
var _scaleX:Number=1 + _target.scaleX – _scaleXIni;
var _scaleY:Number=1 + _target.scaleY – _scaleYIni;

var total:uint=_items.length;
var i:uint;
for (i=0; i < total; i++)
{
_items[i].item.x=Math.round(_target.x + (_items[i].x * _scaleX));
_items[i].item.y=Math.round(_target.y + (_items[i].y * _scaleY));
}
}

//Remove event enter_frame for user can moved objects mobiles
public function blockenterFrame(e:*=null):void
{
_target.removeEventListener(Event.ENTER_FRAME, update);

}

//Add event enter_frame back after move objects mobiles
public function freeenterFrame(e:*=null):void
{
_target.addEventListener(Event.ENTER_FRAME, update);
}

}

}

Feito isso depois para utiliza-la é só utilizar o seguinte código:

public var _positionRelative:PositionRelative;
_positionRelative = new PositionRelative(foto);
_positionRelative.addItem(_obj1);
_positionRelative.addItem(_obj2);
_positionRelative.addItem(_obj3);

Pronto, desta forma seus objetos vao ter sempre a mesma posicao do seu objeto principal, independente do zoom aplicado ou do movimento aplicado no objeto principal.

No próximo post vou mostrar a voces uma forma de aplicar a um objeto principal um zoom/movimento relativo, ou seja, voce tem uma imagem em tamanho normal e a mesma imagem em tamanho miniatura, e deseja que de acordo com o movimento do mouse sobre a miniatura, seja reproduzido o movimento/zoom relativo na imagem principal.

Abraco a todos!

P.S:A falta de acentos é por causa do layout do teclado.





Coldfusion web day

14 04 2009

cfwebday_logo

Quero aqui agradecer e mostrar minha grande satisfaçao de ter participado do evento Coldfusion Webday.

Foi um intensivo muito bom de conhecimentos focados nessa grande ferramenta server-side que é o Coldfusion e que cada dia mais conquista novos desenvolvedores e empresas.

Nao deixaria também de homenagear as grandes mentes por trás de tudo isso,  o grande Carlos Eduardo da e-Genial e todos os palestrantes.

Tambés estao de parabéns todos os profissionais participantes.

O evento me motivou ainda mais a seguir estudando e fazendo testes com o Coldfusion junto com o Flex.

Abraço a todos,

Silva Developer





Concurso cultural Flex-Brasil : Por que Flex?

16 12 2008

logo_concurso

Como participar? 1,2,3 passos

1 – Grave seu vídeo
2 – Faça o upload no youtube
3 – Tag nas opções do youtube como :porqueflex tudo junto e minúsculo

Pronto você está participando do concurso cultural.

Regras:

As regras do concurso são simples, faça o bom video que os critérios são:

Originalidade
Criatividade
Melhor justificativa

Prêmio:

O melhor vídeo leva para casa como presente de natal.

1 Licença do Adobe Flex 3 Builder Professional

Validade:

Até dia 23/12/2008 (prazo final)

Quem pode participar?

Grupos de usuário Flex-brasil e Flexdev
Grupos de usuário Flex de Portugal.

Visite a Flex-Brasil:www.flexbrasil.org

Lista de discussão: http://br.groups.yahoo.com/group/flex-brasil/

Visite Flexdev grupo de discussão: http://groups.google.com/group/flexdev

index_r3_c2





Instalando e configurando o adaptador oracle no rails

4 12 2008

Por que não unir o melhor banco de dados do mundo com a melhor plataforma de desenvolvimento web?. Uma união perfeita, RAILS + ORACLE.

Primeiramente você precisará instalar a biblioteca Ruby Oracle OCI8. O Ruby driver OCI8 Oracle fornece conectividade para versões de 8 a 10g através da norma Oracle Client software.

Faça o download da distribuição binária do condutor em www.rubyforge.org/projects/ruby-oci8 e instale manualmente via cmd, através do seguinte comando:

ruby ruby-oci8-0.1.16-mswin32.rb

Posteriormente você precisará instalar o adaptador oracle que é muito simples, siga abaixo o seguinte passo-a-passo:

1) Você pode tentar instalar via gem, digitando o seguinte código:

gem install activerecord-oracle-adapter ou
gem install activerecord-oracle-adapter –source http://gems.rubyforge.org

2) Caso não obteve êxito, você pode fazer o download direto do arquivo oracle_adapter.rb, e posteriormente salvá-lo no seguinte endereço:

C:\ruby\lib\ruby\gems\1.8\gems\activerecord-2.0.2\lib\active_record\connection_adapters

3) Por final, basta abrir e alterar seu arquivo database.yml com:

development:
adapter: oracle
database: my_sid
username: my_user
password: my_password

Pronto, seu rails já está configurado para acessar o banco de dados oracle.Simples não?.Assim como tudo no rails.

Espero ter ajudado, qualquer coisa, entre em contato.

Abraço,

Silva Developer





Curso de FLEX 3 do básico ao avançado da e-Genial

8 10 2008

Com este curso da e-genial, você irá aprender a usar o Adobe® Flex™ 3 para criar aplicações ricas para a web, tirando o máximo de proveito dos componentes e controles que o framework possui.

Com uma metodologia interativa e com um suporte completo você terá um grande material de apoio para o dia a dia, além de poder aumentar a rede de contatos profissionais.

Público alvo:
Empresas de desenvolvimento e desenvolvedores autônomos que pretendem criar ricas e interativas interfaces para seus aplicativos, com qualidade e produtividade. Além de profissionais que já trabalham com Flash, ActionScript 2 e designers.

Objetivo:
Permitir que todos os participantes aprendam a criar aplicações ricas para a internet usando o Flex como camada de apresentação, interagindo com fontes externas de dados usando comunicações serializadas como XML e AMF3.

Pré-Requisitos:
Conhecimentos básico de HTML, JavaScript, XML, Orientação a objetos, e alguma linguagem de programação server-side como JSP, ASP, PHP, Ruby, Rails, ColdFusion ou ter experiência prévia com ActionScript 2.

Conteúdo:
O curso é um passo a passo que vai deste a instalação do Flex SDK e Flex Builder até ao ponto de colocar a aplicação em produção. VEJA A GRADE

O curso inclui exercícios?
Sim, o curso inclui aulas teóricas e práticas que são acompanhadas de exercícios e vários exemplos.

Durante o curso, serão aplicados vários exercícios de apoio ao aprendizado, sendo que alguns exercícios serão fundamentais para dar continuidade ao andamento do curso. Assim, a parte prática serve tanto como ponto de fixação dos conceitos como também apresenta situações reais de uso do Flex no dia a dia.

Clique aqui e veja o vídeo de demonstração do curso.

Para maiores informações sobre o curso, clique aqui.





For Conference – Conjunto de componentes FLEX

8 10 2008

Há poucos dias tive a oportunidade de conhecer mais um produto da e-genial, o For Conference (4Conference), e como não deixaria de ser, vindo da e-genial e do Carlos Eduardo, achei bastante interessante e inovador.

For Conference é um conjunto de componentes Flex que permite criar aplicações de conferências com poucos cliques. Todos os componentes são do tipo, clique, arraste e solte, facilitando a criação de aplicações multimídias para serem colocadas em produção ou até mesmo para estudos de usuários iniciantes.

O conjunto de componente é composto por Tile de Pods para áudio e vídeo conferência, Chat, Status e classes que estendem SharedObjects. O o diferencial é que este componente pode ser usado junto a maioria de servidores Flash Media que existe no mercado, como Flash Media Interactive Server, Wowza Pro, Milgra Grafter Server e até mesmo o RED5.

Veja algumas telas:

Código gerado:

Exemplo customizado via CSS:

Acesse http://tomsas.com.br/forconference/ para ver uma app em funcionamento. Para ver o código fonte gerado de toda a aplicação, basta acessar botão direito -> View source.

Você também pode clicar aqui e ver o vídeo de demonstração.

Se você desenvolvedor ou empresa privada se interessou pelo For Conference, entre em contato agora mesmo com a e-genial, pelo site: www.egenial.com.br ou pelo e-mail: falecom@egenial.com.br.





Aldeia Flex no Campus Party Brasil

27 09 2008

Apoiando a idéia do meu amigo Fábio Vedovelli, estamos lançando a idéia: ALDEIA FLEX. Para os que ainda não conhecem, o Campus Party Brasil (http://www.campus-party.com.br/) é um encontro de internet, onde os participantes levam barracas e acampam e passam 5 dias no evento, trocando experiencias, usando uma fabulosa conexão de 5Gbps e conhecendo novas pessoas.

No meio de todas aquelas barracas, criar a Aldeia Flex, onde todos os profissionais, parceiros e amigos poderiam se reunir e trocar experiências e conhecimentos profissionais e também “jogar conversa fora”, além de boa parte terem a oportunidade de muitos se conhecerem pessoalmente, como é o caso meu.

Clique aqui e veja o post original feito pelo Vedovelli.

Abraço a todos!.





32 Componentes e Librarias Open Source para Flex e AS3

20 08 2008

Todos sabemos que nos dias de hoje, onde o tempo e o prazo sempre são muito curtos, não podemos perder tempo “reinventando a roda”, seja em qualquer linguagem e ambiente de programação.

Uma boa solução para isso é a utilização de componentes, cujos quais já possuem diversas funcionalidades incorparadas que pode facilitar e muito em nossa rotina de desenvolvimento.

Por isso, estou disponibilizando abaixo esta lista que contém links para diversos sites que disponibilizam uma série de componentes open-source.Espero que gostem, segue abaixo a lista:

DisplayShelf Component - http://www.quietlyscheming.com/blog/components/tutorial-displayshelf-component/ Um componente que pode ser entendido como uma aula sobre alguns pontos bem interessantes do flex, como o Matrix, Item renderer, masking, bitmap manipulation, etc… o resultado final dos 2 exemplos é muito bom!!

ASDIA - http://code.google.com/p/asdia/ Uma libraria para desenhar diagramas de dados na nossa aplicaçao flex.

Flex Bookhttp://www.quietlyscheming.com/blog/components/flexbook/ Um componente que simula um livro, que pode conter qualquer outro componente, folheado pagina a pagina, é uma maneira bem original de mostrar conteudo na nossa aplicação.

Um componente treeMap, que permite apresentadr dados de uma forma bem original e profissional.

FlexFM - http://flexfm.us/about/ Um componente que permite que o flex se ligue directamente ao FileMaker (sistema de base de dados)

Ramdom Walk Componenthttp://www.quietlyscheming.com/blog/components/randomwalk-component/ Um componente que cria um menu conhecido como Walk. Um optimo exemplo de menu pratico.

FlexUnithttp://code.google.com/p/as3flexunitlib/wiki/Welcome Fornece uma pequena framework para testar o nosso aplicativo, bem como as suas librarias.

FishEye Component - http://www.quietlyscheming.com/blog/components/fisheye-component/ Um componente e explorador, que cria o efeito fishEye visto em tantos menus como até o proprio menu tipo mac.

ASSqlhttp://code.google.com/p/assql/ Um conjunto de classes que permite que uma aplicação AIR faça chamadas directas a uma base de dados MySql.

Animated Drag & Drophttp://www.quietlyscheming.com/blog/components/animated-dragtile-component/ Um exemplo de uma grande utilidade, principalmente educativa. Demonstra a utilização de propriedades drag & drop em elementos menos usados.

Metaphilehttp://code.google.com/p/metaphile/ Uma libraria que permite ler e escrever os “cabeçalhos” (metadata) nos ficheiros audio (ID3), video ou até swf, que até podem incluir imagens, titulos, etc…

Flex Calendarhttp://code.google.com/p/flexcalendar/ Embora não muito profissional, esta libraria pode ser extensa e usade de uma forma bem util.

Interactive Calendarhttp://www.quietlyscheming.com/blog/components/interactive-calendar/ Mais um calendário, mas este muito mais interactivo, que basicamente serve de agenda em que podem ser apresentados varios calendários de varios utilizadores, muito util quando hà necessidade de guardar agendas partilhadas…

Flexedtoolkit - http://code.google.com/p/flexedtoolkit/ Um conjunto de librarias e componentes que podem facilmente ser usados e que são de grande utilidade, tais como AutoRefresh, ClientIdleTimeout, customAlerts ou customGrid.

Datagrid Searchhttp://www.preterra.com/flexsamples/gridsearch/gridsearch.html Um exemplo de como utilizar um sistema para procurar algo numa datagrid e colorir as linhas que apresentam essa palavra procurada.

Landscape Zoomerhttp://www.quietlyscheming.com/blog/components/landscape-zoomer/ Um componente que permite ampliar imagens a partir das suas miniaturas, utiliza no exemplo a API do flickr para obter as imagens.

Interactive ToolTiphttp://www.meutzner.com/blog/index.cfm/2008/2/20/A-PersistentInteractive-Tooltip-in-Flex Um tooltop personalizado com um botão para mais informações. Simples mas muito util.

Dual Slider Componenthttp://www.meutzner.com/blog/index.cfm/2006/7/26/Dual-Slider-Component Um componente muito util, que permite usar um slider para escolher 2 valores, ou algo compreendido entre 2 valores.

Flex Chart Range Selector - http://www.stretchmedia.ca/blog/index.cfm/2007/3/9/Flex-Chart-Range-Selector–Google-Financeish / Muitas vezes os nossos graficos são demasiado extensos, este componente permite visualizar apenas parte do grafico, tendo em baixo uma miniatura total do grafico que nos permite escolher a area a visualizar. Actualizado em: http://www.stretchmedia.ca/blog/index.cfm/2007/3/12/Chart-Range-Selector–Take-Two

FlexLib - http://code.google.com/p/flexlib/ Pouco mais hà a falar, a tão conhecida libraria de componentes flex. Reune componentes como: AdvancedForm, Base64Image, EnhancedButtonSkin, CanvasButton, ConvertibleTreeList, Draggable Slider, Fire, Highlighter, HorizontalAxisDataSelector IconLoader, ImageMap, PromptingTextArea, PromptingTextInput, Scrollable Menu Controls, SuperTabNavigator, Alternative Scrolling Canvases, Horizontal Accordion, TreeGrid, FlowBox, Docking ToolBar, Flex Scheduling Framework

Flex Debug Componenthttp://www.mikenimer.com/index.cfm/2006/7/5/FlexDebugPanel Um debugger para o flex, permite observar variados dados em tempo de execução.

JAM – Just ActionScript & MXML – http://www.onflex.org/code/ Um depósito de algum código bem util em ActionScript e MXML. Pode encontrar alguns exemplos de packages e componentes.

SpringGraph Flex Componenthttp://mark-shepherd.com/blog/springgraph-flex-component/ Um componente bem original, que apresenta uma forma de apresentação de dados num grafico com elementos unidos entre eles.

Yahoo Astra Flexhttp://developer.yahoo.com/flash/astra-flex/ Um conjunto de componentes para o flex de uma grande utilidades. Contem componentes como AutoCompleteManager, ColorPlaneAndSliderPicker, ColorSliderPicker, DropDownColorPicker, IPv4AddressInput, TimeInput, ou TimeStepper

AS3Cryptohttp://code.google.com/p/as3crypto/ Um motor de encriptação que suporta os mais variados sistemas de encriptação.

AS3MailLibhttp://code.google.com/p/as3maillib/ Uma libraria que permite ligar a um servidor de email usando o protocolo SMTP ou POP3.

FleXtensehttp://www.flextense.net/ Gera automaticamente as classes AS3 que servem de comunicação para Web Serviçes.

Audio Visualization Componenthttp://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&loc=en_us&extid=1034708 Cria um equalizer de barras, linhas ou area de acordo com a variação do spectrum do som.

Sand Mailhttp://sourceforge.net/projects/sandmanmail/ Mais um cliente de email (IMAP) feito em flex + php SSR 2 – Super Simple Remote – http://blog.rubyamf.org/?p=102 Uma libraria em Action Script para ligar o flash/flex a objectos remotos.

FlexibleTaskshttp://www.weberdesignlabs.com/flexibletask/FlexibleTasks.html Um sistema blog/CMS feito totalmente em flex, com o código fonte disponivel.

Spell Check Componenthttp://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&extid=1401019 Um componente que fornece correcção ortográfica ao nosso aplicativo. Com certeza, um deles será util para você utilizar na sua rotina diária de desenvolvimento. Abraço, Silva Developer





Teclas de atalho do Flex 3 Builder

19 08 2008

Durante a rotina do dia-a-dia de desenvolvimento, é muito comum e fundamental utilizarmos teclas de atalho para agilizar os comandos e tarefas mais utilizados, no Flex 3 Builder não é diferente, clique aqui e conheça todas as teclas de atalho do Flex 3 Builder.

Espero ter ajudado.

Abraço,

Silva Developer





5 Tutoriais de integração Flex + Rails (Flex on Rails)

5 08 2008

Para você que deseja aprender e praticar mais a integração das tecnologias Flex e Rails (flex on rails), aqui vai a lista dos 5 melhores tutoriais de flex on rails:

1) Meu tutorial, aqui no meu blog, com exemplo completo de integração flex on rails.
http://silvadeveloper.wordpress.com/2008/04/24/integrando-flex-3-com-

2) Artigo tutorial da Adobe, escrito por Derek Wischusen do blog flexonrails.net:
http://www.adobe.com/devnet/flex/articles/flex2_rails.html

3) Stuart Eccles do liverail.com, postou a mini série de artigos sobre a integração do Ruby on Rails e Flex.
Parte 1 => http://www.liverail.net/articles/2006/04/16/rubyonrails-1-1-and-flex-
Parte 2 => http://www.liverail.net/articles/2006/5/6/rubyonrails-1-1-and-flex-2-
Parte 2 Extra => http://www.liverail.net/articles/2006/05/13/flex-and-rails-part-2-ext

4) Automatizando a comunicação entre o cliente eo servidor. Foi escrito por Harris Reynolds. O servidor tecnologia que é utilizado por Midnight WebORB codificadores (www.themidnightcoders.com). WebORB.
Esta abordagem é um pouco diferente, porque o lado do servidor tem sido tratado por não apenas spiting out XML, sim, um pouco mais robusto. Se você tem um tráfego de dados com grande escala, esta solução lhe atenderá.

http://webddj.sys-con.com/read/295396.htm

5) Video que mostra como combinar o poder do flex com o rails:
http://www.valtech-tv.com/permalink/2345/combining-the-power-of-flex-