ИнформАрхив QSP

22.7. Как вставить видео в игру на Навигаторе?

Эта статья устарела. Новый плеер с поддержкой HTML - qSpider

В: Как вставить видео в игру на Навигаторе?

О:

ВНИМАНИЕ!!! Перед прочтением нижеследующего текста рекомендуется ознакомиться с разделами 22.1. Шаблоны оформления для игр и "22.8. Stand-Alone сборка на Навигаторе".

ВНИМАНИЕ!!! Видео формата mp4 не воспроизводятся в Навигаторе!

Изначально заявлено, что Quest Navigator умеет воспроизводить видео, как обычный браузер (как это делается в браузере можно прочитать на сайте htmlbook.ru).

Мы ожидаем, что вставка видео в игру мало чем будет отличаться от вставки изображений, поэтому, чтобы вставить видео в свою игру, мы пытаемся сделать следующее:

  1. Положить видеофайл в папку с игрой, или во вложенную папку.
  2. Прописать в игре контейнер для видео с помощью тегов <video> и <source>.

В первую очередь давайте рассмотрим второй пункт, ведь именно теги <video> и <source> выводят видео в нашей игре.

Тег <video> по сути представляет собой контейнер, внутри которого перечисляются источники, из которых браузер (а в нашем случае плеер) будет подгружать видеофайл. В общем виде в Quest Navigator видео в игру мы вставляем так:

! открываем контейнер VIDEO
*p "<video autoplay loop width='500px'>"
    
! указываем источники видео, то есть пути к файлам в тегах SOURCE
    *p "<source src='video/GeneveDrive.ogg' type='video/ogg;'>"
    *p "<source src='video/GeneveDrive.webm' type='video/webm;'>"
! закрываем контейнер VIDEO
*pl "</video>"

Мы указываем несколько источников на случай, если один не будет воспроизводиться. Однако, это не обязательно. Quest Navigator прекрасно воспроизводит webM, поэтому достаточно использовать только один файл видео формата webM и только один источник соответственно в коде HTML.

Вот вроде бы и всё. В тегах <source> прописаны относительные пути, согласно первому пункту мы кладём в папку с игрой папку "video", в неё помещаем наши видеофайлы и ожидаем, что Quest Navigator будет эти видеофайлы воспроизводить. Однако данный способ не сработает. Вместо непосредственно видео мы увидим чёрный прямоугольник и (возможно) кнопки управления.

К сожалению, нам недостаточно просто положить видео в папку с игрой, Quest Navigator не будет его воспроизводить.

Мы можем указать абсолютный путь к видео, и тогда видео появится в Quest Navigator:

*p "<video autoplay loop width='500'>"
    *p "<source src='D:/QSPgames/myCoolGame/video/GeneveDrive.webm' type='video/webm;'>"
*pl "</video>"

Однако этот вариант нам не подходит, ведь у каждого игрока игра будет лежать в разных местах на компьютере. Нам нужен вариант, когда мы можем свободно раздавать копии игры, не заботясь о путях. И к сожалению, это возможно только если мы будем распространять нашу игру в виде Standalone-сборки.

Тогда, поскольку наша игра будет располагаться относительно плеера по пути "assets\standalone_content\start.qsp", мы сможем размещать в папке "standalone_content" или во вложенных в неё папках наши видео и вызывать их из игры, когда захотим, используя относительные пути:

*p "<video autoplay loop width='500'>"
    *p "<source src='video/GeneveDrive.webm' type='video/webm;'>"
*pl "</video>"

Подробнее о том, как создавать Standalone-сборки игры для Quest Navigator читайте в разделе "22.8. Как делать standalone-сборку на Навигаторе?".