Pull to refresh

Что нам стоит фильм «построить»?

Reading time2 min
Views1.3K

Преамбула


В процессе работы, анализировал лог, который представлял из себя print_r массива (очень большого массива).
Крутить ролик, пальцы устали. Решил воспользоваться «ускоренным» скроллингом… и…

Кинематограф


Так как массив был многомерным и его второй уровень имел статичное количество элементов, я увидел «кино».
Это были мелькающие значения массива, которые складывались в кадры. Небольшие операции по регулировке скорости прокрутки, и кадры зафиксировались.

FilmArrayStudio+FilmArrayFX


Создавать каждый элемент массива вручную — зло, так я решил, и взялся писать класс, который будет делать это за меня.
Сказано — сделано. первые 4 часа дали основу, последующие 2 дня довели до состояния — «не стыдно людям показать»

А что собственно есть показать:
Проект на GitHub
github.com/AlexMcArrow/FilmArray — страница «проекта»

Фильмы
«О проекте»
tetragon.narod.ru/about.fa — проект фильма
tetragon.narod.ru/about.html — «монтажная пленка»
tetragon.narod.ru/about.b.html — готовый фильм
«Рождение Бита»
tetragon.narod.ru/bitborn.fa — проект фильма
tetragon.narod.ru/bitborn.html — «Рождение Бита» (монтажная пленка)
tetragon.narod.ru/bitborn.b.html — «Рождение Бита» готовый фильм

Для того, что бы «смотреть фильм», необходимо использовать «ускоренный» скроллинг, и регулируя скорость скроллинга, добиться неподвижности кадров.

Что мы можем


На данный момент реализованы следующие методы:
FilmArrayStudio

  • FilmArrayStudio::NewFilm ('About FilmArray', 'AlexMcArrow');
    Создание нового проекта (название фильма, автор)
  • FilmArrayStudio::MakeMovie (24);
    Создание раскадровки (кол-во кадров в еденицу времени)
  • FilmArrayStudio::SaveProject ('about');
    Сохранение проекта (имя файла json)
  • FilmArrayStudio::SaveMovie ('about');
    Создание «монтажной пленки» (имя файла html)
  • FilmArrayStudio::SaveMovieBorder ('about');
    Создание фильма (имя файла html)

FilmArrayFX

  • FilmArrayFX::NullScreen (5);
    Создание пустого кадра
  • FilmArrayFX::CountDown (9, 1, TRUE);
    Создание «обратного отсчета» (начальная цифра, кол-во кадров на цифру, кадр с «Picture Start»)
  • FilmArrayFX::Title ('About "FilmArray"');
    Сохранение «заголовка» (отцентрованный текст, сиволы фона, кол-во кадров)
  • FilmArrayFX::Titles (array ('Alex McArrow', '2012', ' ', ' ', 'FilmArrayStudio + FilmArrayFX'), 6, FilmArrayFX::FAFX_align_center);
    Создание «титров» (массив строк, кол-во кадров, центрирование/прижатие вправо/прижатие влево)




Пожалуйста не оценивайте код, стилистику, архитектуру и т.п. — JustForFun!!!

UPD:
Проблема подбора скорости напрямую связана с расширением и размером экрана. Измените размер отображаемой части — CTRL+ролик
UPD2:
Доблестным пользователям *nix-подобных систем, придется пользоваться костылями для скроллинга:
Chrome — chrome.google.com/webstore/search/autoscroll
FireFox — addons.mozilla.org/ru/firefox/search/?q=autoscroll
UPD3:
Добавил ссылки на фильм «Рождения Бита» — это первый фильм снятый с использованием этой технологии!!! (раритет). И добавил файлы-проектов для фильмов (Creative Commons)
Tags:
Hubs:
Total votes 70: ↑50 and ↓20+30
Comments42

Articles