logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!

Usando Acelerômetro no Flash Lite 4.0

Colocado por Leonardo França na(s) categoria(s): 1, 4, 6, action, Actionscript, ActionScript 3, Actionscript 3.0, Actionscript3, Adobe, api, Aplicativos, AR, back, bar, BI, bitmap, browser, cache, camp, class, classe, classes, código, Curso, Cursos, custom, dados, Desenvolvimento, Download, Draw, efeito, efeitos, engine, err, event, EventListener, exemplo, filter, flash, flash lite, Flash Player, Flex, for, function, geo, Google, handle, html, IE, if, image, int, Java, Javascript, lite, live, map, mg, Number, O, on, PHP, player, pt, rest, RIA, Ria’s Geral, RTM, RTMP, streaming, string, tag, Tema, Touch, UI, update, Ved, Widget, Widgets em 10 15th, 2010 | Sem comentários



Tivemos o lançamento do Nokia N8, o primeiro dispositivo oficialmente a suportar Flash Lite 4.0. Além do Nokia N8[bb], também temos o Nokia C7[bb] e o Nokia E7[bb], todos rodando o sistema operacional Symbian^3 e com o Adobe Flash Lite 4.0 já instalado. Isso implica a possibilidade do desenvolvimento de aplicativos para Symbian^3 usando ActionScript 3.0 rodando pelo browser ou standalone.
Precisamos atentar para o fato de que o Flash Lite 4.0 não é o Flash Player 10.1, eles possuem algumas diferenças significativas:

  • Flash Lite suporta algumas funcionalidades parcialmente.
  • Flash Lite adiciona algumas funcionalidades para trabalhar especificamente com dispositivos movéis.

O Flash Lite 4.0 é baseado no Flash Player 10, possuindo recursos que foram introduzido no Flash Player 9 e 10. Entre os recursos disponivéis estão:

  • Multi-touch support
  • Flash Player 10 text engine
  • Using inline text input
  • RTMP data channel
  • RTMPE
  • RTMPT and RTMPTE
  • Multi bit-rate streaming
  • Geolocation
  • Accelerometer
  • SharedObject Remote(Obaaaa! :D )

Além disso veja as classes parcialmente suportadas e as classes não suportadas.
Vamos ao nosso primeiro exemplo com utilização das novas capacidades do Flash Lite 4.0, nesse caso, acelerômetro.

  • Crie um arquivo do tipo Flash Lite 4.0 pelo Flash CS5 ou pelo Adobe Device Central CS5.
  • Adicione três campos de textos dinâmicos, neles serão mostrados as coordenadas de x, y e z.

Começaremos nossa codificação, teremos um método para criar a bola que sofrerá os efeitos do acelerômetro

PLAIN TEXT
ACTIONSCRIPT3:

  1. function createBall():void
  2. {
  3.     ball = new Sprite();
  4.     ball.graphics.beginFill(0xFF0000);
  5.     ball.graphics.drawCircle(0, 0, RADIUS);
  6.     ball.cacheAsBitmap = true;
  7.     ball.x = stage.stageWidth / 2;
  8.     ball.y = stage.stageHeight / 2;
  9.     addChild(ball);
  10. }

Em seguida, verificamos se o aparelho tem acelerômetro para adicionarmos os listeners que pega os dados do sensor e para atualizar as posições da bola.

PLAIN TEXT
ACTIONSCRIPT3:

  1. function AccelerometerTest()
  2. {
  3.     stage.scaleMode = StageScaleMode.NO_SCALE;
  4.     stage.align = StageAlign.TOP_LEFT;
  5.  
  6.     createBall();
  7.  
  8.     if (Accelerometer.isSupported)
  9.     {
  10.         accelerometer = new Accelerometer();
  11.         accelerometer.addEventListener(AccelerometerEvent.UPDATE, accUpdateHandler);
  12.         stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
  13.     }
  14. }

E o restante do código.

PLAIN TEXT
ACTIONSCRIPT3:

  1. function enterFrameHandler(event:Event):void
  2. {
  3.     event.stopPropagation();
  4.     moveBall();
  5. }
  6. function moveBall():void
  7. {
  8.     var newX:Number = ball.x + xSpeed;
  9.     var newY:Number = ball.y + ySpeed;
  10.     if (newX <20)
  11.     {
  12.         ball.x = RADIUS;
  13.         xSpeed = 0;
  14.     }
  15.     else if (newX> stage.stageWidth - RADIUS)
  16.     {
  17.         ball.x = stage.stageWidth - RADIUS;
  18.         xSpeed = 0;
  19.     }
  20.     else
  21.     {
  22.         ball.x +=  xSpeed;
  23.     }
  24.  
  25.     if (newY <RADIUS)
  26.     {
  27.         ball.y = RADIUS;
  28.         ySpeed = 0;
  29.     }
  30.     else if (newY> stage.stageHeight - RADIUS)
  31.     {
  32.         ball.y = stage.stageHeight - RADIUS;
  33.         ySpeed = 0;
  34.     }
  35.     else
  36.     {
  37.         ball.y +=  ySpeed;
  38.     }
  39. }
  40.  
  41. function accUpdateHandler(event:AccelerometerEvent):void
  42. {
  43.     xSpeed +=  event.accelerationX * 2;
  44.     ySpeed -=  event.accelerationY * 2;
  45.    
  46.     txtX.text = new String(event.accelerationX);
  47.     txtY.text = new String(event.accelerationY);
  48.     txtZ.text = new String(event.accelerationZ);
  49. }

Agora basta pedir para testar no emulador do Adobe Device Central CS5, devemos ter algo parecido com isto:

Adobe Device Central CS5


DOWNLOAD SOURCE

Para saber mais:
http://help.adobe.com/en_US/flashlite/dev/4/index.html






Veja o post original no blog do autor aqui!  

Leonardo França

Escrito por Leonardo França @ http://www.leonardofranca.com.br
Saiba mais sobre o autor na sua pagina de perfil
Outros posts do autor:
» Adobe AIR 2.6 for Android disponivel
» Proteção simples de conteudo com Flash Media Server
» Usando Dynamic Streaming com Flash Media Server 3.5

Deixe um comentário



Spam Protection by WP-SpamFree

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2791 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos

GOOGLE

Votação


Deveria o RedeRia agregar conteúdo em inglês?
Ver Resultados

AUTORES


Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com