Tivemos o lançamento do Nokia N8, o primeiro dispositivo oficialmente a suportar Flash Lite 4.0. Além do Nokia N8, também temos o Nokia C7
e o Nokia E7
, 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!
)
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
-
function createBall():void
-
{
-
ball.graphics.beginFill(0xFF0000);
-
ball.graphics.drawCircle(0, 0, RADIUS);
-
ball.cacheAsBitmap = true;
-
ball.x = stage.stageWidth / 2;
-
ball.y = stage.stageHeight / 2;
-
addChild(ball);
-
}
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.
-
function AccelerometerTest()
-
{
-
-
createBall();
-
-
if (Accelerometer.isSupported)
-
{
-
accelerometer = new Accelerometer();
-
accelerometer.addEventListener(AccelerometerEvent.UPDATE, accUpdateHandler);
-
}
-
}
E o restante do código.
-
{
-
event.stopPropagation();
-
moveBall();
-
}
-
function moveBall():void
-
{
-
if (newX <20)
-
{
-
ball.x = RADIUS;
-
xSpeed = 0;
-
}
-
else if (newX> stage.stageWidth - RADIUS)
-
{
-
ball.x = stage.stageWidth - RADIUS;
-
xSpeed = 0;
-
}
-
else
-
{
-
ball.x += xSpeed;
-
}
-
-
if (newY <RADIUS)
-
{
-
ball.y = RADIUS;
-
ySpeed = 0;
-
}
-
else if (newY> stage.stageHeight - RADIUS)
-
{
-
ball.y = stage.stageHeight - RADIUS;
-
ySpeed = 0;
-
}
-
else
-
{
-
ball.y += ySpeed;
-
}
-
}
-
-
function accUpdateHandler(event:AccelerometerEvent):void
-
{
-
xSpeed += event.accelerationX * 2;
-
ySpeed -= event.accelerationY * 2;
-
-
}
Agora basta pedir para testar no emulador do Adobe Device Central CS5, devemos ter algo parecido com isto:
Para saber mais:
http://help.adobe.com/en_US/flashlite/dev/4/index.html






