Как удалить лишние превью в стандартном скине krpano?

В этой статье предлагаю простой способ оставить только нужные превьюшки в нижней части окна krpano. Способ не автоматизированный, его можно сильно усовершенствовать, но времени нет. Поэтому принимайте как есть.

Итак, изначально имеет тур с такими превью:

Превьюшки в krpano
Превьюшки в krpano

Здесь мы видим сразу несколько картинок для бара. Если тур большой, то каждая панорама будет занимать своё место, и превьюшек будет дико много. В итоге разобраться в них очень сложно, гораздо логичнее оставить по одной для каждого помещения.

Как это сделать?

  1. Добавьте в ваши skin_settings в файле tour.xml строку  preview_count=""
    Выглядеть это будет примерно так:

    В эту переменную вы будете вписывать число превьюшек, которые останутся видимыми в интерфейсе тура.
  2. Откройте ваш vtourskin.xml, найдите  <action name="skin_startup">  и добавьте внутрь условный оператор:


    Это условие проверяет, задана ли переменная  preview_count , и если задана, то копирует её значение в переменную  preview_counter . В противном случае в эту переменную копируется банальный счётчик сцен (учитываются все панорамы).
  3. Найдите функцию  <action name="skin_addthumbs"> и доработайте её напильником. А именно:
    После строки  add(thumbbarheight, thumbpadding); добавьте код:

    Затем найдите строку  for(set(i,0), i LT preview_counter, inc(i),  и замените константу scene.count  на переменную, заданную нами ранее:  preview_counter

    Должно получиться примерно так:

    А ещё лучше подключите этот код отдельным файлом, удалив предварительно из vtourskin.xml

  4. Отсортируйте ваши сцены в файле tour.xml таким образом, чтобы вначале шли те панорамы, которые вы хотите оставить.
    Просто переносите каждую сцену от <scene> до </scene> выше или ниже, вырезая и вставляя текст.
  5. Вернитесь в пункт 1 и впишите в переменную  preview_count=""  число превьюшек, которые хотите оставить в панели. Например, я оставлю только 4 превью: администратор, бар, кафе, жилой этаж. Всё остальное будет скрыто.

В типовом случае вам лучше сначала собрать весь тур, не меняя последовательность сцен, а уже после этого перетащить в конец документа сцены, которые хотите скрыть, и указать число видимых.

Знаю, способ не самый гладкий, и задачу можно решить гораздо красивее, например, отключая отдельные панорамы при помощи переменных. Но мне некогда этим заниматься, да и нет нужды. Пользуйтесь на здоровье тем, что уже есть!

Как всё это работает?

Очень просто. Функция  skin_addthumbs проверяет, какое значение имеет переменная preview_count. Если переменная пустая, то в панели превьюшек выводятся все превью от всех панорам, в порядке очерёдности. Если там стоит число, то выводится именно такое количество панорам, как указано в переменной.

Вот что получилось у меня.

Уроки по созданию виртуальных туров
Уроки по созданию виртуальных туров

Добавить комментарий

Ваш e-mail не будет опубликован.