Ваш аккаунт: пройдите авторизацию

Авторизация

Пароль есть, но Вы его забыли?
Впервые на сайте? Зарегистрируйтесь!

Вы попали в мир графики и дизайна


Изюминка нашего сайта в том, что все файлы хранятся на наших серверах, поэтому Вы получаете круглосуточный доступ ко всем файлам по прямым ссылкам без регистрации! С нашим сайтом Вы забудете про файлообменники!


Индикатор баратеи


Этот урок научит вас, как создать графический индикатор батареи аккумулятора во Flash Lite 1.1.
Подготовка графических объектов

Начните с открытия Flash и выберите File>New, чтобы открыть окно New Document, кликните по вкладке Template и выберите Nokia S60 - 240x320 из категории Global Handsets, затем кликните OK.
Индикатор баратеи
Наша версия - Flash Lite 1.1, а по умолчанию - Flash Lite 2.0. Чтобы понизить версию, обратитесь к Properties Inspector и измените версию на Flash Lite 1.1. Мы используем эту версию, чтобы обеспечить совместимость с наибольшим возможным количеством моделей телефонов.
Индикатор баратеи
Сейчас мы будем работать с объектами. Нам нужно импортировать анимацию, которую вы загрузили в начале этого урока. Нам нужно, чтобы эта анимация была в отдельном муви клипе, чтобы манипулировать им. Для создания нового пустого муви клипа нажмите Ctrl+F8, назовите ваш мувик Battery Animation, убедитесь, что тип символа установлен в Movie Clip.
alt
Вы должны находиться на временной шкале этого вновь созданного муви клипа. Чтобы импортировать анимацию батареи, просто сделайте File>Import>Import To Stage, найдите необходимый SWF - файл и затем кликните Open. Вы сразу же увидите вашу анимацию, расположенную в кадрах на этой временной шкале. Если вы нажмете Enter, вы увидите, что анимация будет выполняться, однако, по техническим причинам, относящимся к нашему коду, который вы увидите позже, было бы намного легче для нас видеть анимацию - заполнение батареи, чем анимацию - опустошение батареи. Мы собираемся обратить порядок кадров. Чтобы сделать это, нажмите мышкой на пустой кадр и затем, удерживая мышь, двигайте ее по всему пути до первого кадра, при этом выделятся все кадры на временной шкале, кликните правой кнопкой мыши по любому кадру шкалы и выберите Reverse Frames.
alt
alt
Вы можете нажать снова Enter, чтобы посмотреть сейчас обратную анимацию! После того как вы сделали это, кликните по Scene 1, чтобы вернуться в основную временную шкалу.
alt
Наш battery - мувик сделан, но он еще не помещен на сцену. Откройте библиотеку, нажав Ctrl+L и затем перетащите муви клип с анимацией на сцену. Убедитесь, что вы расположили его на сцене правильно.
Индикатор баратеи
Далее, чтобы иметь возможность управлять нашим мувиком средствами ActionScript, нам нужно присвоить ему инстанс имя, инстанс имя - это просто ссылка на объект, которую понимает ActionScript. Чтобы добавить инстанс имя нашей battery-анимации, просто выделите муви клип на сцене и затем перейдите в панель Properties и установите имя battery_mc.
Индикатор баратеи
Мы закончили работать с графическими объектами нашего мувика. Теперь время писать код. Правой кнопкой мыши кликните в первом кадре слоя Actions и выберите Actions, чтобы открыть панель Actions.

Программирование индикатора батареи

Первая задача нашего скрипта - это найти текущий уровень батареи и максимально возможный уровень батареи. чтобы найти их, мы можем использовать flash lite методы fscommand2(). Мы собираемся использовать это, чтобы извлечь эти два значения и запомнить их в две переменные, которые назвали current и max.
<!--c1-->
CODE
<!--ec1-->
current = fscommand2("GetBatteryLevel");
max = fscommand2("GetMaxBatteryLevel");
<!--c2-->
<!--ec2-->
Если мы извлекли эти два значения правильным способом, они будут произвольными числами. Нам нужно знать число в процентах, которое обозначает, насколько батарея заполнена, наполовину, или пустая. Чтобы сделать это, мы просто разделим current на max, это даст нам число с плавающей десятичной точкой между 0 и 1, где 0 означает, что батарея пустая, а 1 означает, что батарея полная, десятичное значение между этими значениями будет индицировать, насколько заполнена батарея, например, 0.5 означает, что батарея наполовину полная.
<!--c1-->
CODE
<!--ec1-->
current = fscommand2("GetBatteryLevel");
max = fscommand2("GetMaxBatteryLevel");

currentRatio = current/max;
<!--c2-->
<!--ec2-->
Анимация нашей батареи стартует с кадра 1 и играет до ее последнего кадра, где первый кадр означает, что батарея пустая, а последний кадр - батарея полная. Нам необходимо найти эквивалентный кадр анимации по отношению к значению нашей переменной currentRatio. Поскольку наша переменная currentRatio с десятичной точкой, показывающая отношение между максимальным и текущим уровнями батареи, мы можем просто найти нужный текущий кадр простым умножением этого значения на общее количество кадров в нашей анимации.
<!--c1-->
CODE
<!--ec1-->
current = fscommand2("GetBatteryLevel");
max = fscommand2("GetMaxBatteryLevel");

currentRatio = current/max;
currentFrame = currentRatio*battery_mc._totalframes;
<!--c2-->
<!--ec2-->
Есть небольшая проблема с нашим кодом выше, переменная currentFrame - десятичное число, а кадр муви клипа может быть только целым числом. Чтобы сделать верно, нам нужно использовать метод int(), чтобы округлить число до целого.
<!--c1-->
CODE
<!--ec1-->
current = fscommand2("GetBatteryLevel");
max = fscommand2("GetMaxBatteryLevel");

currentRatio = current/max;
currentFrame = int(currentRetio*battery_mc._totalframes);
<!--c2-->
<!--ec2-->
Отлично, теперь у нас есть наш кадр-цель, мы может сказать нашему мувику battery_mc проиграться до этого кадра:
<!--c1-->
CODE
<!--ec1-->
current = fscommand2("GetBatteryLevel");
max = fscommand2("GetMaxBatteryLevel");

currentRatio = current/max;
currentFrame = int(currentRatio*battery_mc._totalframes);

tellTarget("battery_mc"){
gotoAndStop(/:currentFrame);
}
<!--c2-->
<!--ec2-->
Это сделано. Однако, наше действие выполняется только один раз. Для того чтобы сделать, чтобы наш код изменял статус непрерывно, нам нужно использовать цикл временной шкалы. Закройте панель Actions, выберите первый кадр в первом слое и выберите Insert Frame. Сделайте то же самое для второго слоя.
alt
Сейчас вы можете протестировать ваш мувик во Flash, мувик должен автоматом тестироваться в Device Central. Чтобы проверить, как работает эмулятор батареи, вам нужно поиграть с инспектором Device Status в Device Central.
alt
alt


Внимание! Вы находитесь на сайте как гость! Зарегистрируйтесь или авторизируйтесь...

Нет времени на регистрацию? Можете войти на сайт через ВКонтакте! Это просто, быстро и удобно!

Похожие материалы

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.