В этом уроке мы создадим приложение для чтения в Твиттере, используя ваши собственные обновления в Твиттере. Мы рассмотрим некоторые функции класса nativeWindow, как его подписать и сделать установочный пакет.
Окончательный результат предварительного просмотра
Давайте посмотрим на окончательное приложение, над которым мы будем работать:
Шаг 1. Установите среду выполнения Adobe AIR
С помощью этого плеера мы можем запустить любое приложение с расширением .air, например, новый Adobe Media Player . Сначала нам нужно установить проигрыватель Adobe AIR, поэтому перейдите в Adobe и загрузите проигрыватель . Выберите свою операционную систему и нажмите «Загрузить». Когда загрузка будет завершена, установите ее.
Шаг 2. Установите расширение Adobe AIR для Flash CS3 и CS4
Теперь нам нужен наш второй элемент для разработки приложений AIR: расширение. В этом случае я использую тот для Flash CS3, но он также доступен для Flash CS4. Перейдите в центр поддержки Adobe Flash. Перед установкой обновления Flash для Adobe AIR необходимо загрузить и установить последнее обновление Flash Player (9.0.2), которое можно загрузить здесь: http://www.adobe.com/support/flash/downloads.html. # 902 .
Затем необходимо загрузить и установить обновление Adobe AIR для Flash CS3 Professional: http://www.adobe.com/support/flash/downloads.html .
Шаг 3: Настройка документа
На этом этапе, когда вы запускаете Flash CS3 или CS4, на экране приветствия у вас будет возможность создать файл Adobe AIR Flash. Сделай это! Установите размер сцены на 300 пикселей в ширину и 500 пикселей в высоту с 30 кадрами в секунду. Я выбрал белый цвет для фона. Сохраните его как «my-twitter-updates.fla».
Шаг 4: Создание фона
Мы собираемся использовать изображение iPhone в качестве фона, поэтому зайдите на сайт Сэма Брауна (хорошие векторы) и загрузите пакет изображений iPhone . Откройте файл с помощью Fireworks или Photoshop и выберите любой размер (без текста), а затем экспортируйте как «bg_iphone.png».
Во Flash выберите «Файл»> «Импорт», затем импортируйте «bg_iphone.png» на сцену. Выберите его и выровняйте по центру по вертикали и горизонтали. Преобразуйте это изображение в символ мувиклипа с именем «mcIphone», затем перейдите в свойства и назначьте «twitterApp» в качестве имени экземпляра. Дважды щелкните символ и переименуйте первый слой как «bg_iphone». Теперь у вас должно быть что-то вроде следующего изображения:
Шаг 5: Создание динамических текстовых полей
Теперь перейдите и создайте новый слой для заголовка нашего приложения. Нарисуйте динамическое текстовое поле и присвойте ему «title_app» в качестве имени экземпляра.
Затем добавьте два новых слоя; первый называется «мои обновления», а второй — «следуй за мной». Создайте многострочное динамическое текстовое поле в слое «Мои обновления» со следующими свойствами:
- 11 размер шрифта
- многострочное текстовое поле
- белый цвет
- активировать визуализировать текст как HTML
- назначить «myUpdates» в качестве имени экземпляра
Нам понадобится кнопка Follow Me на слое « Follow Me », поэтому нарисуйте прямоугольник в нижней части области iPhone и преобразуйте его в символ кнопки с текстом «Follow Me». После этого назначьте «btFollowme» в качестве имени экземпляра.
Шаг 6: Добавьте кнопки прокрутки
На данный момент нам нужны две кнопки; вверх и вниз для прокрутки содержимого текстового поля «мои обновления». Перейдите на панель временной шкалы и добавьте новый слой. Введите название «кнопки прокрутки», затем нарисуйте стрелку на сцене и преобразуйте ее в символ видеоролика. Для другой кнопки скопируйте, вставьте и переверните ее по вертикали. Назначьте «btUp» и «btDown» в качестве имени экземпляра. Наконец, вернитесь к основной временной шкале. Когда вы закончите, у вас должно получиться что-то вроде следующего изображения.
Шаг 7: Получение URL канала Twitter
Во-первых, нам нужен URL вашего RSS-канала, поэтому перейдите на домашнюю страницу Twitter. Теперь нажмите на кнопку «Профиль» в верхней панели навигации. Перейдите на правую панель, щелкните правой кнопкой мыши на «Rss Feed of username » и скопируйте URL.
Шаг 8: Анатомия Твиттера RSS Feed
Давайте рассмотрим структуру наших обновлений в Twitter. Первая часть — это информация канала rss, а вторая часть — цикл обновлений. Мы будем использовать некоторые базовые узлы: ссылку на первую часть, title, pubDate и ссылку на элемент цикла.
Шаг 9: Начните писать сценарии XML
Вернитесь во Flash и создайте новый слой для действий, пора начинать кодировать. Как видите, первая переменная содержит URL-адрес канала RSS из вашего профиля в Twitter, поэтому вставьте его в свой:
1
2
3
4
|
var twitterURL:String = «http://twitter.com/statuses/user_timeline/16211488.rss»;
var twitterXML:URLRequest = new URLRequest(twitterURL);
var myLoader:URLLoader = new URLLoader(twitterXML);
myLoader.addEventListener(«complete», xmlLoaded);
|
Шаг 10. Запустите функцию XmlLoaded.
С помощью этой функции мы можем загрузить RSS и каждый перечисленный узел, прежде чем начинать определять переменные узлов xml:
1
2
3
4
|
function xmlLoaded(evtObj:Event) {
var twitter:XML = new XML(myLoader.data);
var TwitterTitle:String = twitter.child(0).description;
var UserUrl:String = twitter.child(0).link;
|
Шаг 11: Цикл обновлений
В этой части нам нужно получить значения узлов xml и присвоить их переменной myUpdates. Для этого используйте оператор for .
1
2
3
4
5
|
var myUpdates:String = «»;
for each (var nodo:XML in twitter..item) {
myUpdates += «<a href='»+nodo.link+»‘><font color=’#a4917c’>»+nodo.title+»</font></a><br>»+»<font color=’#a4bc34′>»+nodo.pubDate +»</font><br/><br/>»;
}
|
Шаг 12: Текстовые поля и событие для кнопки Follow
Сначала мы отображаем заголовок приложения, затем получаем обновления и, наконец, добавляем EventListener для кнопки Follow с URL-адресом пользователя (Пример: http://twitter.com/_dariux).
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
|
//THE TITLE APP > «Twitter updates from Darío Gutiérrez / _dariux.»
twitterApp.titleApp.text = TwitterTitle;
//Display the value of myUpdates into the textfield
twitterApp.myUpdates.htmlText = myUpdates;
//Actions for Follow Me button
twitterApp.btFollowme.addEventListener(MouseEvent.CLICK, btFollowme_CLICK);
function btFollowme_CLICK(e:MouseEvent):void{
var targetURL:URLRequest = new URLRequest(UserUrl);
navigateToURL(targetURL);
}
}
|
Шаг 13: Действия с кнопками прокрутки
Простой код для кнопок прокрутки, проверьте этот код:
01
02
03
04
05
06
07
08
09
10
11
|
//Listeners and functions for scroll buttons
twitterApp.btUp.addEventListener(MouseEvent.CLICK, scrollUp);
twitterApp.btDown.addEventListener(MouseEvent.CLICK, scrollDown);
function scrollUp(Event:MouseEvent):void {
twitterApp.myUpdates.scrollV -=5;
}
function scrollDown(Event:MouseEvent):void {
twitterApp.myUpdates.scrollV +=5;
}
|
Шаг 14: Тестирование приложения
Протестируйте фильм (Управление по меню + Тестовый фильм или cmd + enter). Как видите, это обычное окно, как и при использовании обычного флеш-плеера. На следующем шаге мы настроим наше приложение, и вы заметите разницу.
Шаг 15: Настройки AIR для приложения и установщика
Для настроек AIR в Flash CS4 выберите «Файл»> «Настройки AIR», а для Flash CS3 выберите «Команды> Настройки приложения AIR и установщика». В этом окне мы начнем настраивать приложение, поэтому давайте перейдем к полю описания и напишем некоторую общую информацию.
Стиль окна
Стиль окна интересен. Есть три стиля: хром, непрозрачный и прозрачный. Стиль Chrome похож на простое окно с кнопками, фоном и рамкой, Opaque — это окно с фоном, но без кнопок, а последний стиль Transparent — это окно без кнопок и фона. В нашем случае выберите прозрачный стиль.
Икона
Выберите значок (или дизайн) для вашего приложения в разных размерах 16px, 32px, 48px, 128px с расширением .png.
продвинутый
В этой опции вы можете выбрать различные настройки для окна при запуске приложения, опции для папок для установки и обновления.
Цифровая подпись
Если вы хотите отправить приложение AIR, вам понадобится цифровая подпись, которую установщик установит в системах других пользователей. В этом случае мы подпишем наше приложение ненадежным сертификатом, чтобы разрешить установку AIR во время выполнения в качестве непроверенного издателя. Если вам нужна дополнительная информация о том, как получить сертификат, перейдите по следующей ссылке: Цифровая подпись приложений Adobe AIR .
Место назначения
Выберите папку и название вашего приложения.
Включить файлы
Автоматически Flash выбирает некоторые файлы, необходимые для запуска приложения. Если вы используете другие файлы в своем приложении (например, анимацию caurina), вы должны включить эти файлы как часть приложения.
Шаг 17: Перемещение окна сценариев
В этой части мы будем использовать класс «NativeWindow» и функцию «startMove ()», чтобы наше приложение могло перемещаться по всей стадии. Перейдите на слой действий и добавьте следующий код. Тогда проверьте это:
1
2
3
4
5
6
|
stage.addEventListener(MouseEvent.MOUSE_DOWN, moveWin);
function moveWin(e:MouseEvent):void
{
stage.nativeWindow.startMove();
}
|
Шаг 18: Закрыть и свернуть кнопки
Теперь наше приложение может перемещаться по всей стадии, но если вы хотите закрыть или свернуть, вы не можете. Идите и создайте две кнопки: свернуть (имя экземпляра btMinimize) и закрыть (имя экземпляра btClose), например, следующий снимок, но на этот раз вы должны использовать основной фрагмент ролика (twitterApp). Наконец, добавьте следующий код:
01
02
03
04
05
06
07
08
09
10
11
12
13
|
//Minimize button
twitterApp.btMinimize.addEventListener(MouseEvent.CLICK, btMinimize_CLICK);
function btMinimize_CLICK(e:MouseEvent):void
{
stage.nativeWindow.minimize();
}
//Maximize button
twitterApp.btClose.addEventListener(MouseEvent.CLICK, btClose_CLICK);
function btClose_CLICK(e:MouseEvent):void
{
stage.nativeWindow.close();
}
|
Шаг 19: Всегда впереди
Эта функция очень проста. Просто добавьте кнопку под кнопкой «Follow Me», чтобы создать новый слой внутри основного фрагмента ролика «twitterApp». Напишите «btAlwaysfront» в качестве имени экземпляра:
После того, как вы создали эту кнопку, зайдите внутрь и создайте еще один кадр, каждый со стоп-действием Цель состоит в том, чтобы иметь два состояния для кнопки. Первый кадр деактивирован, а второй активирован . Эта функция использует метод alwaysInFront из класса nativeWindow. После этого мы должны добавить действия к кнопке btAlwaysfront, поэтому перейдите в фрейм действий и вставьте следующий код:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
|
//Activate window always front
stage.nativeWindow.alwaysInFront=false;
twitterApp.btAlwaysfront.addEventListener(MouseEvent.CLICK, btAlwaysfront_CLICK);
function btAlwaysfront_CLICK(e:MouseEvent):void
{
if ( stage.nativeWindow.alwaysInFront!=true){
twitterApp.btAlwaysfront.gotoAndStop(2);
stage.nativeWindow.alwaysInFront=true;
}else{
twitterApp.btAlwaysfront.gotoAndStop(1);
stage.nativeWindow.alwaysInFront=false;
}
}
|
Шаг 20: Полный код
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
//Twitter rss url
var twitterURL:String = «http://twitter.com/statuses/user_timeline/16211488.rss»;
var twitterXML:URLRequest = new URLRequest(twitterURL);
var myLoader:URLLoader = new URLLoader(twitterXML);
myLoader.addEventListener(«complete», xmlLoaded);
function xmlLoaded(evtObj:Event) {
var twitter:XML = new XML(myLoader.data);
var TwitterTitle:String = twitter.child(0).description;
var UserUrl:String = twitter.child(0).link;
var myUpdates:String = «»;
//The loop
for each (var nodo:XML in twitter..item) {
myUpdates += «<a href='»+nodo.link+»‘><font color=’#a4917c’>»+nodo.title+»</font></a><br>»+»<font color=’#a4bc34′>»+nodo.pubDate +»</font><br/><br/>»;
}
//THE TITLE APP > «Twitter updates from Darío Gutiérrez / _dariux.»
twitterApp.titleApp.text = TwitterTitle;
//Display the valor of myUpdates into the textfield
twitterApp.myUpdates.htmlText = myUpdates;
//Actions for Follow Me button
twitterApp.btFollowme.addEventListener(MouseEvent.CLICK, btFollowme_CLICK);
function btFollowme_CLICK(e:MouseEvent):void{
var targetURL:URLRequest = new URLRequest(UserUrl);
navigateToURL(targetURL);
}
}
/******************************************************
Listeners and functions for scroll buttons
******************************************************/
twitterApp.btUp.addEventListener(MouseEvent.CLICK, scrollUp);
twitterApp.btDown.addEventListener(MouseEvent.CLICK, scrollDown);
function scrollUp(Event:MouseEvent):void {
twitterApp.myUpdates.scrollV -=5;
}
function scrollDown(Event:MouseEvent):void {
twitterApp.myUpdates.scrollV +=5;
}
/******************************************************
AIR Zone
******************************************************/
//Window move
stage.addEventListener(MouseEvent.MOUSE_DOWN, moveWin);
function moveWin(e:MouseEvent):void
{
stage.nativeWindow.startMove();
}
//Minimize button
twitterApp.btMinimize.addEventListener(MouseEvent.CLICK, btMinimize_CLICK);
function btMinimize_CLICK(e:MouseEvent):void
{
stage.nativeWindow.minimize();
}
//Maximize button
twitterApp.btClose.addEventListener(MouseEvent.CLICK, btClose_CLICK);
function btClose_CLICK(e:MouseEvent):void
{
stage.nativeWindow.close();
}
//Activate window always front
stage.nativeWindow.alwaysInFront=false;
twitterApp.btAlwaysfront.addEventListener(MouseEvent.CLICK, btAlwaysfront_CLICK);
function btAlwaysfront_CLICK(e:MouseEvent):void
{
if ( stage.nativeWindow.alwaysInFront!=true){
twitterApp.btAlwaysfront.gotoAndStop(2);
stage.nativeWindow.alwaysInFront=true;
}else{
twitterApp.btAlwaysfront.gotoAndStop(1);
stage.nativeWindow.alwaysInFront=false;
}
}
|
Шаг 21. Создание файла AIR
Чтобы опубликовать свой файл .air во flash CS4, откройте меню «Файл»> «Настройки AIR» и нажмите кнопку «Опубликовать файл AIR».
Для flash CS3 выберите «Команды> AIR — Создать файл AIR».
Тогда вы увидите новое окно (цифровая подпись). Выберите сертификат и введите свой пароль. Создание файла .air занимает некоторое время, но после его завершения вы увидите другое окно со следующим текстом «Файл AIR создан». Файл .air создается в том же рабочем каталоге, что и ваш .fla файл.
Шаг 22: Окончательные детали
Как видите, у моего приложения есть тень. Если вы хотите стиль Windows, просто выберите основной мувиклип «twitterApp» и примените:
Вывод
Итак, у нас есть приложение AIR! Это небольшое приложение, но я надеюсь, что оно поможет вам в качестве ссылки на разработку собственного. С помощью этой технологии мы можем разрабатывать потрясающие приложения, совместимые с такими API, как Twitter, Gmaps и Flickr. Есть много других функций, не описанных в этом руководстве, много возможностей для будущего руководства или краткого руководства! Спасибо за прочтение.