Skip to content

YReshetko/TestPlayer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TestPlayer

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

    1. Сократил до минимума перестроение DOM страницы. Раньше для каждой группы объектов добавлялась отдельный canvas элемент. При смене заданий в пакете старые canvas удалялись и для следующего задания добавлялись новые (скорее всего именно из-за этого и перезагружался браузер). Таких элементов в зависимости от задания могло добавляться от 10 и более. Теперь с момента инициализации плеера в контейнер добавляется только 5 canvas элементов, которые не удаляются до момента вызова метода clear() объекта плеера.
    1. Выделен отдельный слой для перемещения объектов, что существенно сократило время на прорисовку изменений, вследствие чего dragAndDrop на планшетах работает быстрее (поднимался вопрос, что какое-то задание не получилось сдать на планшете. Скорее всего эта проблема решена).
    1. Выделен отдельный слой для анимации, что также существенно повысило скорость перерисовки анимируемых объектов (даже на планшете задание с мельницей работает намного быстрее, чем раньше http://kidnet.ru/task/1394780645/zhivaya-raskraska )
    1. Добавлена возможность автоматического удаления объекта с экрана после завершения анимации. Рекомендую авторам использовать её если объект в финале анимации должен исчезнуть и более не используется в задании. Во-первых, это может исключить ряд ошибок при создании задания. Во-вторых, объект будет исключен из стека отображения, что повысит производительность плеера в текущем задании.
    1. Введены ограничения всех перемещаемых объектов в рамках экрана задания. Теперь вынести таны за пределы окна невозможно.
    1. В модуле пзла исправлено несколько ошибок. Во-первых, как бы не был повернут элемент задание можно было сдать просто расставив все части на свои места. Во-вторых, если элемент был поставлен на свое место, а потом снят с него, все равно он считался поставленным верно. В-третьих, угол поворота элемента мог быть любым, что существенно усложняло задачу повернуть его на нужный угол. Теперь угол поворота при отпускании элемента кратен 22.5 град, тоже, что и у танов.
    1. Исправлена работа с объектом группировки танов. Также перемещаются только в рамках экрана
  • Предполагаемые минусы. В данной версии, как я уже писал выше, только пять слоев:

  • слой для отрисовки фона

  • слой размещения объектов задания

  • слой анимации

  • слой перемещения объектов (dragAndDrop)

  • слой GUI

  • Алгоритм анимации: Когда объект должен проиграть свою анимацию он из слоя объектов перемещается в слой анимации. В этом слое воспроизводится. Если анимация завершена, то объект перемещается назад в свой слой на ту же глубину, на которой был ранее. Отсюда вытекает первый минус – анимация воспроизводится всегда на переднем плане (за исключением dragAndDrop ), другими словами – анимация не может происходить за объектами, которые не анимируются в данный момент. Алгоритм перемещения объектов пользователем (dragAndDrop) Когда пользователь касается объекта, для перемещения или поворота, этот объект помещается в слой dragAndDrop, кешируется и перерисовывается в зависимости от действий пользователя. Когда пользователь отпускает объект, он перемещается назад в свой слой. Таким образом dragAndDrop происходи выше чем анимация. Минус – перемещаемые компоненты могут закрывать текущую анимацию.

About

Repository for developers of testplayer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published