Action Script 3: Скин к Flash Видео Плееру
Плеер разрабатывается на основе flowplayer.org (плеер с открытым кодом).
** Скин к плееру **
Разрабатываемый модуль - это плагин (подключаемый к плееру).
Для того, чтобы можно было безболезненно обновлять сам плеер, в котором его "хозяева" постоянно фиксят детали и добавляют особенности.
Требования:
- Знание ActionScript3
- Весь модуль состоит в плагине. Т.е. сам код плеера и стандартного контрола не редактируется.
- Весь код в ООП
Пожелания:
- желательно не создавать большие классы, в которых будет сложно разобраться. Если у нас есть часть, отвечающая за связь с БД, её выносим в класс DatabaseProvider, если есть часть, отвечающая за таймлайн (в скине), его называем по типу TimelineControl и т.п.
Внешний вид скина:
http://develop.dankey.biz/_vee/small_flash_player.htm
Подзадачи:
- Отображение всех кнопок, нижней панели их ховэров.
Нижняя панель растягвается по горизонтали (т.е. при ресайзе плеера
меняется ширина панели, элементы mute и три кнопки остаются слева, все элементы после кнопки "i" - прилипают к правому краю, кнопки play rewind forward центрируются. Масштаб элементов не изменяется, положение панели по Y относительно bottom не изменяется - "прилипает" к низу)
- Стандартные контролы должны выполнять свои функции: play / pause / volume / mute / fullscreen / timeline / отображение просмотренного / оставшегося времени / финальный большой центровой play.
Реализация механики "тумбовых" панелей:
- Количество тумб задается программно и генерируется в циле.
- Внутри мувиклипа тумбы есть именованная картинка и именованный лабэл. (Потому что в последствии картинка будет заменятся внешним файлом, лабэлу будет присваиваться соответствующий текст).
- Появление панелей тумб: тумбовая панель снизу плавно "выезжает" снизу, когда пользователь наводит мышку в зону 50 px от нижней панели. Аналагично сверху появляется верхняя панель.
- Выделение тумб - при наведении на тумбы мышкой они меняют вид: для верхних серая рамка, для нижних - белое затуманивание.
- Плавный скроллинг тумб при мышке влево/вправо, а так же при клике по кнопкам:
когда мышка по центру - картинки стоят. когда пользователь ведет по нижней/верхней панели мышку вправо, справа начинают появляться новые картинки (всё едет справа налево)
аналогично, при смещении мышки влево.
Чем дальше мышка от центра - тем быстрее скроллинг.
Псевдокод:
каждый кард {
step = (_mouseX - centerX) * minimalSpeed
panel.x += step * direction
}
При успешном сотрудничестве, будет предложено продолжение работы
(в этом проекте ещё 5 задач по плагинам).
----
В ответах указывайте, пожалуйста ваши сроки и стоимость.
Спасибо.