Тестировалось на N8 Nokia, официально первое устройство с поддержкой Flash Lite 4.0. Кроме Nokia N8 так же тестировали на Nokia E7 и Nokia C7 , все работает, и Adobe Flash Lite 4.0 уже установлен. Это предполагает возможность разработки приложений для Symbian 3, используя ActionScript 3.0.
Мы должны смотреть на то, что Flash Lite 4.0 и Flash Player 10.1 разные вещи, они имеют некоторые существенные различия:
Flash Lite поддерживает некоторые функции частично.
Flash Lite добавляет некоторые функции специально для работы с мобильными устройствами.
Flash Lite 4.0 базируется на Flash Player 10, с функциями, которые были введены в Flash Player 9 и 10. Среди имеющихся ресурсов:
Multi-Touch
Flash Player 10 полнотекстового поиска
Использование встроенной клавиатуры ввода текста
RTMP канал передачи данных
RTMPE
RTMPT и RTMPTE
GPS
Акселерометр
SharedObject Remote (даааааа!)
См. также частично поддерживается некоторые классы, и соотв. некоторые классы не поддерживаются.
Вот наш первый пример использования новой возможности Flash Lite 4.0, и в этом случае акселерометр.
Создайте файл типа Flash Lite 4.0 в Flash CS5 или в Adobe Device Central CS5.
Добавить три динамических текстовых поля, и них будет показывать координаты X, Y и Z.
Мы начинаем писать код, у нас есть метод для создания шара, который будет двигаться от акселерометра.
- function createBall():void
- {
- ball = new Sprite();
- 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);
- }
Затем проверяем, что устройство имеет акселерометр, чтобы добавить слушателей, которые обрабатывают данные датчика и обновление позиции мяча.
- function AccelerometerTest()
- {
- stage.scaleMode = StageScaleMode.NO_SCALE;
- stage.align = StageAlign.TOP_LEFT;
- createBall();
- if (Accelerometer.isSupported)
- {
- accelerometer = new Accelerometer();
- accelerometer.addEventListener(AccelerometerEvent.UPDATE, accUpdateHandler);
- stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
- }
- }
Ну и остальной код.
- function enterFrameHandler(event:Event):void
- {
- event.stopPropagation();
- moveBall();
- }
- function moveBall():void
- {
- var newX:Number = ball.x + xSpeed;
- var newY:Number = ball.y + ySpeed;
- 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;
- txtX.text = new String(event.accelerationX);
- txtY.text = new String(event.accelerationY);
- txtZ.text = new String(event.accelerationZ);
- }
Исходник:
С офф. сайта
Зеркало
Оригинал: тут