Я реализовал класс 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);
}
Мой код