class-event v0.1 и Quintus

Javascript 2 марта 2015 г., 5:22

Для начала пара слов об игровом движке Квинтус (Quintus) для создания HTML5-игр. Приглянулся он мне своим минималистичным кодом, в котором, как ни странно, нашлось место фактически для всех плюшек, которые требуются для создания 2D-игр. В основе всех объектов лежит класс Джона Рисига, о котором я писал в прошлом посте. Все хорошо и красиво, но работает местами совершенно через жопу, например парсинг карт уровней в формате Tiled (*.tmx) — создание тайл-слоев, в которых используются несколько тайл-сетов, чревато просто феерическими глюками. Короче, руки чешутся это дело форкнуть и починить. Багов и недоделок масса, а проект развивается очень неспешно. К слову — Квинтус зародился из примеров к этой книге, т.е. история очень похожа на историю моего любимого libGDX.

Не совсем понятна логика автора. Вместо того, чтобы иметь в зависимостях Underscore.js он выдрал оттуда нужные ему функции и запихнул в ядро движка:

a set of utility methods (primarily taken from Underscore.js.)

На мой взгляд, проще подключать библиотеку отдельно, а все методы-утилиты, которые отсутствуют в Underscore.js оформить в виде миксинов. Но хозяин — барин.

Теперь, что касается первой части заголовка поста. class-event — класс, добавляющий в объекты событийный функционал. Вся логика позаимствована из Квинтуса, но код полностью отвязан от движка. Пример использования:

Зависимостей три, класс из предыдущего поста, мой набор функций-утилит для Underscore.js и сама Underscore.js:

https://github.com/pointofpresence/class-event