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

На этой гифке показан наш последний проект в статье:

Эффект таков: когда наша мышь перемещается по странице, страница автоматически генерирует траекторию. Это очень распространенная функция в программах для рисования, так как же нам ее достичь?

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

Так как же нарисовать точки? Фактически, точка - это круг, как мы уже представляли в предыдущей статье.

Здесь мы можем написать функцию специально для рисования точек:

При рисовании точки нам нужно передать объект context и координаты центра круга извне, а цвет и радиус круга мы устанавливаем сами в функции.

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

document.getElementById("canvas").onmousemove = function (event) {
  drawPoint(context, event.clientX, event.clientY)
}

Но в приведенном выше коде есть недостаток: мы хотим рисовать, только когда пользователь удерживает мышь, и больше не рисовать, когда мышь опущена. Итак, мы можем оптимизировать приведенный выше код.

Итак, мы можем изменить код на этот:

Больше контента на plainenglish.io