@DivineDraft

Как двигать скролы области за двигающимся дивом?

Суть такая:
Есть примерно такая конструкция:
<div class="view">
 <div class="sub">
  <div class="block"></div>
</div>
</div>


view стоит на месте и имеет область ограничения для просмотра (пример:700x700px).
sub находится внутри view, но имеет намного большую область, поэтому, что не умещается - обрезается в view (пример: 2000x2000px)
block - двигается по sub при помощи клавиатуры (w'a's'd).

Теперь проблема: block двигается и уходит за область просмотра view, которая ограничивает просмотр.

Скролы активированы, но как их связать и привязать к block? Чтобы когда блок двигался, то так сказать камера просмотра двигалась непосредственно за ним же, независимо от того как и где находится объект block?

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

Любым предположениям, ответам, а так же примерам буду очень рад.
  • Вопрос задан
  • 58 просмотров
Пригласить эксперта
Ответы на вопрос 1
dimovich85
@dimovich85 Куратор тега JavaScript
https://u-academy.net/
Я похожее делал где-то такми образом:
1. Подписывался на событие скролла родителя. В функцию обработчик спускал объект события, event.
2. Выбирал объект, который за ним должен двигаться и применял к нему метод offset() из jq. Передавал в настройки top: e.target.scrollTop(), left: e.target.scrollLeft.
3. Далее к e.terget.scroll... я добавлял, отнимал всякие мелочи, чтоб точно синхронно шло (имею ввиду всякие там паддинги, бордеры, из-за которых могут несостыковки быть.
Думаю из моей идеи что-то сварганите)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы