RU

Скроллирование текста при обновлении

Nex Moderator 11.08.2012 16:07 9 comments 6836 views

Сейчас плеер может работать в двух режимах:
1. DISABLESCROLL = 0, при обновлении текст скроллится в конец;
2. DISABLESCROLL = 1, при обновлении текст скроллится в начало.

Ни тот, ни другой вариант не подходит для комфортной игры на небольшом экране. Когда экран большой, то это не особо влияет, но когда он маленький(например на мобильниках), то это уже критично. Объясню почему.

Представим себе локацию, на которой текст занимает больше одного экрана по высоте. Мы дочитали ее до конца, соотв. проскроллили вручную вниз. Далее мы выбираем какое-то действие, оно добавляет порцию текста в описание. Например, “Вы взяли ключ”. Если DISABLESCROLL равен “1”, то описание скроллируется в самое начало. Нам придется опять вручную пролистывать описание в конец, чтобы узнать, что было дописано. Казалось бы, стоит нам оставить DISABLESCROLL = 0, и не будет проблем, но не тут-то было. Если добавляемый текст достаточно велик, то нам придется отматывать его назад, чтобы отыскать то место, где он начался.

Нужно добиться от плеера следующего поведения: при обычном добавлении текста в окно описания, скролл НЕ сдвигать. В идеале - сдвигать на начало добавленного блока. При полном обновлении - при переходе на новую локацию, или после CLR - скроллить в начало. Отличие от режима “DISABLESCROLL = 0” будет только в том, что при добавлении текста он не будет скроллиться в конец.

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

а при добавлении блока текста в ленту нельзя ли свежедобавленный блок визуально выделять?
Или механизм вывода такой, что при добавлении нового блока выделение с предыдущего уже не снять?

Поддерживаю предыдущего оратора

Воден:

а при добавлении блока текста в ленту нельзя ли свежедобавленный блок визуально выделять?
Или механизм вывода такой, что при добавлении нового блока выделение с предыдущего уже не снять?

Всё зависит от того, как организован вывод. Я, например, новый текст помечаю маркером: ссылка, который “перемещается” при выводе новой порции.

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

А для чего вообще был введен режим DISABLESCROLL = 1?

Воден,
хороший вопрос. Этот режим может оказаться полезным, когда текст меняется в начале или в середине описания. Текст скроллится в начало, и игрок перечитывает обновленное описание.

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

Тогда уж полностью логику надо переделывать: есть текст, есть новый блок в нем. скролл на начало нового блока. В точности как в браузерах технология “якорь” работает.
ну и визуальное выделение нового текста.

Воден,
желаемое поведение зависит от способа использования. Один автор пишет так, другой по-другому.

Да, я согласна, что скролить не надо или же перемещаться на начало нового блока. Я обычно выделяю лишней пустой строкой новый текст, чтобы было понятно, что он добавился.

Log in or Register to post comments.