@kikosko

Как сделать что бы объект «circle» отбивался от стен документа?

Я реализовал класс Circle со свойствами:

  • X - начальное значение координаты х
  • Y - начальное значение координаты y
  • diametr - значения ширины и высоты
  • Color - цвет заливки
Методы:
Метод: draw () - рисует на экране элемент который описан заданными свойствами;
Метод: move ({x = 0, y = 0}) - двигает отрисованный объект по вектору (x, y) - каждый период времени (100мс) изменяет (добавляет \ отнимает) координаты на значение x и y в соответствии;
Метод: _update (), который синхронизирует позицию круга с соответствующими значениями color, x, y объекта;
Помогите реализовать логику, когда круг сталкивается с любым краем экрана, необходимо что бы он отбивался (изменить значение соответствующей координаты вектора на противоположную по знаку значение и вызвать метод move с новым вектором). Я пробовал реализовать, через условие, но при нем код перестает работать :
pseudo code:
if this.initialX >= 1166 &&  this.initialY >= 435) {
clearInterval(this.intervalId);
this.intervalId = setInterval(this._update.bind(this), this.updateInterval);
}

Мой код
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Для Y по аналогии сделаете https://jsfiddle.net/nyvwoatd/
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
SummerWeb Ярославль
от 120 000 до 180 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $