Repository for developers of testplayer
-
Версия 2.0.6
-
Ресайз по высоте берется из css max-height
-
Добавлена перерисовка при добавлении кнопки старта заданий (для выравнивания по центру)
-
Для kidnet изменена функция анимации (должна быть более плавной и быстрой)
-
Версия 2.0.5
-
Воспроизведение аудио перенесено внутрь плеера
-
Добавлена кнопка воспроизведения заданий на мобильных устройствах (для предварительной загрузки аудио)
-
Версия 2.0.4
-
После установки тана на свою позицию он становится невосприимчивым к событиям и сквозь него можно взять другой объект
-
Исправлена ошибка очистки плеера после завершения задания
-
Исправлена ошибка отложенной функции запуска задания в пакете, если плеер был очищен
-
Исправлена ошибка очистки контроллера анимации
-
Версия 2.0.3 (без мини версии)
-
Очистка слоев компонент и анимации (на мобильных девайсах оставались артефакты старых элементов)
-
Удален отдельный слой анимации предзагрузчика (на iOS был замечен вылет браузера при переходе с предзагрузки к заданию)
-
Для танов (картинок и пользовательских) реализована невосприимчивость к событиям мыши если объект статичен (удален черный и для самих черных танов) . Теперь сквозь один объект можно взять другой.
-
Версия 2.0.2
-
Установление танов в слой поверх остальных после перемещения и анимации (в будущем в конструктор будет введена переменная для определения ставить объект назад на свою глубину или повер остальных)
-
Версия 2.0.1 (без мини версии)
-
Добавлены хинты для кнопок
-
Настройки хинтов и кнопки паузы вынесены в конфиг файл
-
Версия 2.0.0
-
- Сократил до минимума перестроение DOM страницы. Раньше для каждой группы объектов добавлялась отдельный canvas элемент. При смене заданий в пакете старые canvas удалялись и для следующего задания добавлялись новые (скорее всего именно из-за этого и перезагружался браузер). Таких элементов в зависимости от задания могло добавляться от 10 и более. Теперь с момента инициализации плеера в контейнер добавляется только 5 canvas элементов, которые не удаляются до момента вызова метода clear() объекта плеера.
-
- Выделен отдельный слой для перемещения объектов, что существенно сократило время на прорисовку изменений, вследствие чего dragAndDrop на планшетах работает быстрее (поднимался вопрос, что какое-то задание не получилось сдать на планшете. Скорее всего эта проблема решена).
-
- Выделен отдельный слой для анимации, что также существенно повысило скорость перерисовки анимируемых объектов (даже на планшете задание с мельницей работает намного быстрее, чем раньше http://kidnet.ru/task/1394780645/zhivaya-raskraska )
-
- Добавлена возможность автоматического удаления объекта с экрана после завершения анимации. Рекомендую авторам использовать её если объект в финале анимации должен исчезнуть и более не используется в задании. Во-первых, это может исключить ряд ошибок при создании задания. Во-вторых, объект будет исключен из стека отображения, что повысит производительность плеера в текущем задании.
-
- Введены ограничения всех перемещаемых объектов в рамках экрана задания. Теперь вынести таны за пределы окна невозможно.
-
- В модуле пзла исправлено несколько ошибок. Во-первых, как бы не был повернут элемент задание можно было сдать просто расставив все части на свои места. Во-вторых, если элемент был поставлен на свое место, а потом снят с него, все равно он считался поставленным верно. В-третьих, угол поворота элемента мог быть любым, что существенно усложняло задачу повернуть его на нужный угол. Теперь угол поворота при отпускании элемента кратен 22.5 град, тоже, что и у танов.
-
- Исправлена работа с объектом группировки танов. Также перемещаются только в рамках экрана
-
Предполагаемые минусы. В данной версии, как я уже писал выше, только пять слоев:
-
слой для отрисовки фона
-
слой размещения объектов задания
-
слой анимации
-
слой перемещения объектов (dragAndDrop)
-
слой GUI
-
Алгоритм анимации: Когда объект должен проиграть свою анимацию он из слоя объектов перемещается в слой анимации. В этом слое воспроизводится. Если анимация завершена, то объект перемещается назад в свой слой на ту же глубину, на которой был ранее. Отсюда вытекает первый минус – анимация воспроизводится всегда на переднем плане (за исключением dragAndDrop ), другими словами – анимация не может происходить за объектами, которые не анимируются в данный момент. Алгоритм перемещения объектов пользователем (dragAndDrop) Когда пользователь касается объекта, для перемещения или поворота, этот объект помещается в слой dragAndDrop, кешируется и перерисовывается в зависимости от действий пользователя. Когда пользователь отпускает объект, он перемещается назад в свой слой. Таким образом dragAndDrop происходи выше чем анимация. Минус – перемещаемые компоненты могут закрывать текущую анимацию.