Все статьи / Очки и особенности js


Особенности разработки на js

В js одной из самых дорогостоящих по времени операций является выделение памяти, поэтому стоит сократить создание объектов. Поэтому, когда пользователь собирает очки, их объекты не удаляются, а становятся неактивными. При рестарте игры, они становятся активными.

var Point = function(x, y)
{
    this.used = false;
...

Логика сбора очков. Находится в GameStateUpdateSystem, так как это действие над предметом.

this._updatePoints = function(state)
{
    var intersectedPointIndex = collisions.getIntersectedPointIndex(state.packman.person, state.points);

    if (intersectedPointIndex != -1)
    {
        state.packman.score++;
        state.points.splice(intersectedPointIndex, 1);
    }
};

Результат:

Скриншот