Прокрутка - безусловно полезная вещь. Можно пролистать информацию вверх и вниз. Прокрутка колёсиком мыши используется практически везде и игры тоже не исключение. Здесь мы расскажем как сделать простую прокрутку колёсиком мыши в Clicteam Fusion.
Для реализации прокрутки нам понадобятся заранее созданные объекты.

После подготовки того что вы хотите сделать прокручиваемым, переходим в редактор событий. Нажимаем ЛКМ на "Новое условие", далее на "Мышь и клавиатура" и потом на "Когда колёсико мыши перемещаются вверх". Затем на таблице событий выбираем ячейку под объектом который вы хотите сделать прокручиваемым, нажимаем ПКМ на эту ячейку и выбираем "Позиция" и "Установить координаты Y" (или "Установить координаты X" если хотите сделать горизонтальную прокрутку). И в окне так называемого калькулятора ниже выбираем тот объект, нажимаем на него, выбираем "Позиция" и "Координата Y (или X)". И справа возле <Координата>( "<Объект>" ) пишем "+" и количество пикселей на которое мы хотим подвинуть объект (должно выглядит примерно так: Y( "Актив" ) + 10). Аналогично и с "Когда колёсико мыши перемещаются вниз" только меняем "+" на "-".
Теперь время чуточку объяснить, "+" используется для движения вверх и влево, а "-" используется для движения вниз и вправо.

Результат:

Если вам нужно прокрутить несколько объектов, то добавляете им классификатор, и делаете всё тоже самое что и сверху но вместо объекта вписываете "Группа <название классификатора>".
Результат:

Если вы хотите чтобы объекты прокручивались плавно, то делаем следующее:
Добавляем на сцену объект "Лёгкий (объект)", на ячейку над "лёгким" в таблице событий нажимаем ПКМ, выбираем "Двигать объект" > выбираем объект или группу > меняем параметры плавности движения на свой вкус > в одно любое окно введения координат вписываем "<координата>( "объект/группа" )" а в другое "<координата>( "объект/группа" ) + <количество пикселей>" (в зависимости от того какую прокрутку вы хотите, горизонтальную или вертикальную) > выбираем режим времени (больше советуем "мил.сек") > и вводим желаемое время, например 500 мил. секунд.
Теперь наши объекты прокручиваются плавно.
Результат:

Многие начинающие clickteam разработчики допускают ошибку и не делают лимит прокрутки из-за чего объекты можно крутить вверх до бесконечности.

Сейчас покажем как сделать простую остановку прокрутки.
Для этого, сначала, на сцену нужно добавить два объекта которые будут останавливать прокрутку вверх и вниз

Далее в редакторе событий нужно к "Колёсико мыши вверх" добавить доп. условие, для этого жмём ПКМ, выбираем "Вставить" > "<Объект/Группа>" > "Столкновение" > "Перекрывает другой объект" и выбираем объект который будет ограничивать прокрутку вниз (стоит снизу сцены) и обязательно у этого условия в ПКМ меню ставим "Отрицать" чтобы действие выполнялось если прокручиваемый объект не перекрывает останавливающий объект, аналогично и с "Колёсико мыши вниз" только в "Перекрывает другой объект" ставим объект который будет ограничивать прокрутку вверх (стоит вверху сцены).
Теперь наши объекты останавливаются, но криво. Сейчас доработаем.
Нажимаем на "Новое условие" > "<Объект/Группа>" > "Столкновение" > "Перекрывает другой объект" > выбираем объект который будет ограничивать прокрутку вниз, затем в ячейке над "лёгким" ставим "Остановить все объекты. Затем копируем или делаем тоже условие но вместо объекта который будет ограничивать прокрутку вниз ставим объект который будет ограничивать прокрутку вверх и также ставим "Остановить все объекты".

Результат:

Кстати, если хотите сделать большой список прокручиваемых объектов которые будут задвигаться за сцену, советуем для прокручивающегося и останавливающих объектов в свойствах поставить такие настройки прокрутки:

Правда, у такого способа прокрутки есть и минус, если сработает действие "Остановить все объекты" то все объекты на который действует объект "Лёгкий" - остановятся, но он испаряется если сделать второй объект "Лёгкий" уже для того что движется в игре на уровне.
Бонус: Прокручивание колёсиком мыши можно использовать в глобальных переменных используя "добавить" и "вычислить", например, для прокрутки скинов персонажей.
На этом всё. Надеюсь вам помог это туториал. Спасибо за прочтение.
3 comments