Refactor/entities splitting #4
@@ -16,14 +16,21 @@ export class Paddle {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ограничивает минимальные и максимальные координаты положения ракетки на оси X
|
* Изменяет X координату ракетки, ограничивая минимальные и максимальные координаты
|
||||||
* @param {number} containerWidth ширина игрового поля
|
* @param {number} x новая X координата
|
||||||
|
* @param {number} minX минимальное положение на оси X
|
||||||
|
* @param {number} maxX максимальное положение на оси X
|
||||||
*/
|
*/
|
||||||
clampTo(containerWidth) {
|
moveTo(x, minX, maxX) {
|
||||||
if (this.x <= 0) {
|
switch (true) {
|
||||||
this.x = 0;
|
case minX !== undefined && x <= minX:
|
||||||
} else if (this.x >= containerWidth - this.width) {
|
this.x = minX;
|
||||||
this.x = containerWidth - this.width;
|
return;
|
||||||
|
case maxX !== undefined && x >= maxX - this.width:
|
||||||
|
this.x = maxX - this.width;
|
||||||
|
return;
|
||||||
|
default:
|
||||||
|
this.x = x;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user