Все статьи / Препятствия и обработка столкновений


Обработка столкновений

Для обработки салкновений стоит выделить отдельный объект, который будет служить чем-то вроде пространства имён для функций коллизий. Таким объектом стал 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.

Результат:

Скриншот