Все статьи Препятствия и обработка столкновений
Обработка столкновений
Для обработки салкновений стоит выделить отдельный объект, который будет служить чем-то вроде пространства имён для функций коллизий. Таким объектом стал Collisions.
Препятствия
Для начала надо описать препятствия в отдельном классе.
var Wall = function(x, y)
{
this._x = x;
this._y = y;
this.getSize = function()
{
return FIELD_ELEMENT_SIZE;
};
this.getX = function()
{
return this._x;
};
this.getY = function()
{
return this._y;
};
};
Он получился не очень большой, так как всё, что надо знать о препятствии это то, где оно стоит, и какого размера Все функции связанные с расчётом cтолкновений стоит вынести в отдельный класс. Экземпляр этого класса будет использоватья как namespace. По скольку сущностей, от которых зависит состояние игры стало больше одного, был создан объект GameStateUpdateSystem.
Результат: