Использование акселерометра на Flash Lite 4.0

Создание приложений для iOS, Android, Bada, Blackberry, Symbian, S40 и т.п.
Flash, Java, Objective-C и т.п.

Использование акселерометра на Flash Lite 4.0

Сообщение Doker » 19 дек 2010, 02:23

Говорю сразу, автором данного урока являюсь не я. Я только перевел на русский комментарии, выложил сюда.

Тестировалось на 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.

Мы начинаем писать код, у нас есть метод для создания шара, который будет двигаться от акселерометра.

  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. }


Затем проверяем, что устройство имеет акселерометр, чтобы добавить слушателей, которые обрабатывают данные датчика и обновление позиции мяча.

  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. }


Ну и остальной код.
  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. }


Исходник:

С офф. сайта
Зеркало

Оригинал: тут
my icq numbers: 403305362 и 484613
Аватара пользователя
Doker
Модератор
Модератор
 
Автор темы
Сообщения: 1026
Зарегистрирован: 07 май 2010, 18:53
Благодарил (а): 35 раз.
Поблагодарили: 52 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в Уроки по созданию приложений для мобильных устройств



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron