Создание Flash-меню и т.д : Моддинг : Форум

Страница 1 из 9: [1] 2 3 4 5 ... 9 »

 SEVENI:
22.05.10, 17:46
 Всё про Flash будет здесь.

Создание Flash-меню

Немного истории:
на телефонах(некоторых) платформы db201x используется Flash Lite 1.0
на телефонах платформы db2020 используется Flash Lite 1.1
на телефонах платформы db3150(и выше) используется Flash Lite 2.0 и 2.1

Для работы нам понадобится:
Adobe Flash Professional CS4 (или альтернатива)
Запускаем Adobe Flash Professional и выбираем Создать новый - Файл Flash (ActionScript 2.0)

Теперь нам надо одаптировать версию flashLite и размер экрана под свой телефон,
для этого на верхней панеле нажимаем Модификация -> Документ... и ставим своё разрешение экрана, сохраняем.

Далее Файл -> Параметры публикации... переходим на вкладку Flash и делаем следующее:
В поле Проигрыватель ставим нужную вам версию FlashLite, я приведу пример работы с FlashLite 1.1
В поле Сценарий выбираем версию ActionScript, в данном случае ActionScript 1.0
В поле Качество JPEG ставим качестро графики нашего flash-файла, без потери качества 100%
Сохраняем.

Теперь перейдем к глпвному процессу, начнём:
1) Создаём 4 слоя, называем их как Вам удобно, но учтите, Первый слой(снизу) должен быть фоном, на него накладываются все остальные
И так, я создал 4 слоя - Фон, Текст, Кнопки, Code(В котором будут находиться необходимые элементы ActionScript)

2) Теперь на каждом слое создаём 9 кадров(можно и больше, в зависимости от вашей фантазии), заметьте, что на слоях Кнопки и Code кадры должны быть ключевыми.
На слой Code, на каждом кадре в "Действия - кадр" вписываем код Код:
stop();


На слое Фон, нажимаем комбинацию клавиш "Ctrl+R" и выбираем наше фоновое изображение
(если рисунок импортируется с неправильными координатами, то нажимаем на него и на правой панеле, в координатах X и Y ставим 0)
Далее, на этом же слое мы размещаем наши будующие иконки-кнопки(той же комбинацией импорта "Ctrl+R")

И так, мы их расставили, теперь переходим на слой Кнопки, здесь самое интересное.
На слое Кнопки мы так же расставляем иконки-кнопки(на те же места, но по одной иконке на каждый кадр)
Иконки могут быть и теме же, но для различия я возьму другие(т.к эти иконки будут активными)
Теперь, из активных иконок нам нужно создать кнопки,
для этого, на каждой иконке из слоя Кнопки нажимаем правой кл.мышки и выбираем Преобразовать символ...

В поле Тип выбираем кнопка и сохраняем.

Каждая кнопка должна иметь своё назначение, для этого в "Действия - кнопка" мы вписываем такой код:

Код: 
on (keyPress "<Down>")
{
    gotoAndPlay(Num);
}
on (keyPress "<Up>")
{
    gotoAndPlay(Num);
}
on (keyPress "<Left>")
{
    gotoAndPlay(Num);
}
on (keyPress "<Right>")
{
    gotoAndPlay(Num);
}
on (keyPress "<Enter>")
{
    getURL("application://ID", "");
}


Разберём на нескольких примерах:
Вешаем код на первую кнопку и смотрим
Если мы нажмём "Вниз", то код должен перевести нас на тот, кадр, на котором находится 4-я иконка(камера)
Мы знаем, что эта иконка находится на 4-м кадре, т.е в нашем коде делаем исправление в строке Down, ставим кадр 4 и у нас получается

Код:
on (keyPress "<Down>")
{
    gotoAndPlay(4);
}


Если мы нажмём "Вверх", то код должен перенести нас на тот кадр, на котором находится 7-я иконка(Звонки), значит кадр будет 7
т.е по аналогии у нас будет код

Код:
on (keyPress "<Up>")
{
    gotoAndPlay(7);
}


Если мы нажмём "Влево", то код должен перевести нас на тот кадр, на котором находится 9-я иконка(Настройки), значит кадр будет 9
т.е по аналогии у нас будет код

Код:
on (keyPress "<Left>")
{
    gotoAndPlay(9);
}


Если мы нажмём "Вправо", то код должен перевести нас на тот кадр, на котором находится 2-я иконка(Интернет), значит кадр будет 2
т.е по аналогии у нас будет код

Код:
on (keyPress "<Right>")
{
    gotoAndPlay(2);
}


А если мы хотим, чтобы нужная команда выполнялась при центральном нажатии джойстиком, то в коде вместо ID ставим нужную команду, её можно взять из Menu.ml, например возьмём команду PlayNow

Код:
on (keyPress "<Enter>")
{
    getURL("application://PlayNow", "");
}


И так со всеми кнопками, сами разберётесь.
3) На слое Текст под иконками пишем свой текст(можно где угодно)

Вот и всё, теперь нажимаем Файл -> Экспорт-> Экспортировать ролик... и сохраняем.
Как Вы видите, это не сложно, люди с хорошей фантазией могут сами спроектировать свой стиль.

Прикладываю исходник.
Представленные команды справедливы для db20xx
Со временем допишу про A2
С FlashLite 2.0 начинается поддержка таких функций как вывод даты и времени, переходы на фрагменты роликов и т.д
Сейчас мы сделаем простую заставку(наподобие рабочего стола) с датой и временем, на FlashLite 2.1
(актуально для A2, когда нет эльфов, но хочется изменить положение даты, времени и т.д)
1) Подготовка:
Создаём Flash-документ(ActionScript 2.0)
Ставим своё разрешение экрана, качество и FlashLite 2.1
Нам понадобится только один слой, так что ничего не добавляем.
На этом слое импортируем фоновую картинку("Ctrl+R"), ставим нулевые координаты X и Y(если потребуется)
2) Работа с кодом:
В "Действия - кадр" мы добавляем такой код:

Код: 
function time()
{
    var _loc1 = new Date();
    if (_loc1.getHours() < 10)
    {
        hours.text = "0" + _loc1.getHours();
    }
    else
    {
        hours.text = _loc1.getHours();
    } // end else if
    if (_loc1.getMinutes() < 10)
    {
        minutes.text = "0" + _loc1.getMinutes();
    }
    else
    {
        minutes.text = _loc1.getMinutes();
    } // end else if
// End of the function
function dodate()
{
    var _loc2 = new Array("Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь");
    var _loc3 = new Array("Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота");
    var _loc1 = new Date();
    fulldate.text = _loc3[_loc1.getDay()] + ", " + _loc1.getDate() + " " + _loc2[_loc1.getMonth()];
// End of the function
stop ();
setInterval(this, "time", 1000);
time();
setInterval(this, "dodate", 1000);
dodate();


Нам осталось сделать малое - создаём 3 текстовых поля(оставяем их пустыми)
и называем hours, minutes и fulldate
Теперь по подробнее:
Поля hours и minutes должны быть одинакового размера(под размер шрифта) с выравниванием у hours - по правому краю, а у minutes - по левому.
Поле fulldate делаем под свой размер.
":" мы добавляем в отдельное текстовое поле и ставим между hours и minutes

3) Добавим название оператора и логотип:
Название оператора записываем текстом(размещаем где угодно, цвет можно выбрать на пенеле справа), лого оператора(иконка) импортируем как обычно и ставим в удобное место.

4) Сохраняем наш файл(Файл->Экспорт->Экспортировать ролик...) и вот у нас готовый рабочий стол.

Спасибо Артуру за скрин
Автор инструкции: SEVENI
Специально для ресурса Mobilefree.ru

Прикрепленный к сообщению файл:

Untitled.rar Untitled.rar (74.27 kb; 81 hits) Скачать файл

 punchaleksey:
22.05.10, 17:59
 Мануал отличный ! Можешь также добавить пункты по работе с декомпилером и дальнейшей работой с уже декомпиленными исходниками и экшн скриптами ( если не сложно ) ? В сети не так много об этом написано к сожалению ... Меня вообще оч.долго консультировал один человек и оказалось что всё не так уж легко как кажется .

 SiLoN:
22.05.10, 18:03
 для вибры добавляйте такой код :
"fscommand2("StartVibrate", 50, 0, 1);"
где "50" - длина вибры
где "1" - сколько раз повторить (2макс.)

в кнопке получится че то типа : on(keypress"<enter>") { ссылка ; fscommand2("StartVibrate", 50, 0, 1);}


Добавлено 22.5.10 20:05

punchaleksey писал:
В сети не так много об этом написано к сожалению .

неудевительно , потому что часто декомпиикуется криво.

 SEVENI:
22.05.10, 18:05
 punchaleksey, хорошо
уже декомпиленными исходниками и экшн скриптами

как раз войдёт в работу с FlashLite 2.1
как раз про вибру - команда fscommand2 может применяться только в Adobe Flash(возможно в Macromedia 8, но она устарела), в софте типа Sothink SWF Quicker и т.д нельзя её применять

[ Редактировано SEVENI в 22.5.10 18:11 ]

 SiLoN:
22.05.10, 18:06
 punchaleksey писал:
Меня вообще оч.долго консультировал один человек и оказалось что всё не так уж легко как кажется .
все что не касается кода - все проще простого.


Добавлено 22.5.10 20:30

SEVENI писал:
как раз про вибру - команда fscommand2 может применяться только в Adobe Flash(возможно в Macromedia 8, но она устарела), в софте типа Sothink SWF Quicker и т.д нельзя её применять

а как же время узнавать и тп ?
fscommand2 не только вибрирует , а так же показывает сколько щас время\какой день\год\и т.д.

[ Редактировано SiLoN в 22.5.10 20:33 ]

 xGhost:
22.05.10, 18:53
 Если кому надо, вот все функции fscommand2 - http://www.adobe.com/livedocs/flashlite/2/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000328.html

 SiLoN:
22.05.10, 19:11
 на сайте адоба есть ооочень хороший справочник по языку flash lite x.x (для каждой версии свой) в формате *.pdf . там описание и примеры , но только на английском .
слов нет , чтобы описать ту радость , когда я его нашел ))
тык

 SiLoN:
22.05.10, 19:28
 SEVENI, FLcmd это для а2 , ну и по ходу этот swf quicke для а2 =)

 SEVENI:
22.05.10, 19:55
 Я работаю с тачфонами, в основном с самсунгом, там fl 2.1, система чуть другая =)

 xGhost:
22.05.10, 20:57
 
SiLoN пишет:
SEVENI, FLcmd это для а2 , ну и по ходу этот swf quicke для а2 =)

Ага, щас...:) На любой версии флеш лайта идут fscommand2, Flcmd появляется после декомпиляции! ;-)
Страница 1 из 9: [1] 2 3 4 5 ... 9 »

URL этой темы:
https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=4825

© 2005-2018 supertrubka.org