Показаны сообщения с ярлыком Программирование. Показать все сообщения
Показаны сообщения с ярлыком Программирование. Показать все сообщения

21 октября 2025 г.

Отличное средство скелетной анимации для Pixi.js

Вообще, скелетная анимация с инверсной кинематикой в разработке 3-мерных игр является чем-то само-собой разумеющимся. Для меня было абсолютной неожиданностью, что есть подобные удобные средства и для 2-мерного мира. Хотя, это и должно быть ожидаемо.

8 октября 2025 г.

Интеграции Pixi.js и Matter.js

Я уже писал про завершение создания нами (Студия 42) браузерной казуальной игры про доблестную выхухоль Плюха. С процессом было связано много интересных особенностей, изысканий, решений о которых и постараюсь рассказать.

Изначально планировалось, что одной из мини-игр будет простой кликер. Но подумалось, что механика с сортировкой будет намного занятнее. Сделал прототип с обычным перетаскиванием – стало понятно, что эту механику можно дополнить двумерной физикой. Гравитацию сделать можно и без движка, а вот реализацию столкновений хотелось чуть более сложную. Хотелось, чтобы решение было сразу легко масштабируемым. К тому же, по бюджету это не слишком затратно.

25 августа 2024 г.

Упрощенный пример следования камеры вдоль пути в Three.js

Официально для библиотеки Three.js есть примеры, с помощью которых можно реализовать подобную функциональность:

31 октября 2016 г.

Добавление нового элемента в Chosen

Есть такой очень хороший jQuery плагин Chosen. Он позволяет из стандартных выпадающих списков `select` делать очень удобные. Но плагин не позволяет работать с добавлениями элементов "из коробки". Все решения, найденные мной в сети, не удовлетворительны.

4 ноября 2014 г.

Модуль выявления и обработки русской ненормативной лексики на Python

Вообще, пресечь мат (ненормативную лексику) в данных, поступающих от пользователя и никак не модерируемых — задача сложная и вряд ли решаемая. Пользователь для достижения цели (написания мата) может использовать как богатые возможности русского языка для словообразования, так и различные уловки: вставка каких-то символов между буквами, замена букв на похожие. Даже описать весь спектр возможностей — колоссальный труд. И, надо сказать, такие попытки предпринимались. Но я решил обойтись "малой кровью". Понятно, что бороться с матом сложно. Но можно помочь в модерации.

19 сентября 2014 г.

Выполнение задачи точно один раз в Celery

При количестве используемых веркеров больше одного, задача может отработать несколько раз. Порой такое поведение не нужно. И для такого случая Celery даже предлагает решение.

5 сентября 2014 г.

Основы Celery для Django

При создании некоторых web-приложений порой требуется выполнять задачи асинхронно запросу пользователя или периодически.

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

Ко вторым относятся задачи, обычно размещаемые в cron.

И здесь на помощь как раз может придти система типа Celery — асинхронная очередь задач, основанная на передаче сообщений. Надо сказать, что Celery можно и нужно использовать не только в web-приложениях. Но здесь я расскажу о ней применительно к популярному web-фреймверку Django. Еще стоит оговориться, что я раскрою лишь малую часть системы Celery (достаточную для использования в Django), потому как её возможности достаточно велики.

16 августа 2014 г.

Пример интеграции рендерера pixi.js с Box2DJS

Интеграция физического движка Box2DJS с рендерерами совсем не сложна. Для примера можно взять популярный pixi.js.

14 августа 2014 г.

Форк от портированной версии Box2d.js

  • левая кнопка мыши - таскать динамические тела
  • - следующий пример
  • - предыдущий пример
  • R - сброс примера
  • S - создать сверху квадрат
  • C - создать сверху круг

Знакомиться с библиотекой эмуляции физики твердых тел Box2D (в оригинале написанной на C++) начал еще с версии для Flash. Но пути IT индустрии складываются так, что Flash стремительно сдает свои позиции. Поэтому решил переметнуться в этой области к Javascript.

2 августа 2014 г.

Основы физики библиотеки Box2D

Кратенько. Для понимания в общих чертах. Движок состоит из мира. Этот мир имеет некоторые настройки для управления эмуляцией поведения абсолютно твердых тел, которыми наполнен.

3 июня 2014 г.

Thumbnailer на PHP

Хотелось лаконичного по коду, но, тем не менее, хорошо расширяемого тумбнейлера с возможностями уменьшения как вписывая в размеры, так и подрезая края. Взял PHP Gregphoto_Image за основу. Хотя, именно логику изменения размеров пришлось переписать.

20 сентября 2013 г.

Добавляем некоторые "плюшки" в FeinCMS

В предыдущей моей статье было описано как интегрировать FeinCMS в Django с минимальной функциональностью. Теперь давайте разберемся как несколько расширить возможности системы за счет использования "батареек" FeinCMS.

18 сентября 2013 г.

"Готовим" FeinCMS

FeinCMS - это, как очевидно из названия, система управления содержимым сайта на базе фреймверка Django. Очень простая и очень удобная с точки зрения разработчика Django. Не перегруженная "батарейками в комплекте". Здесь я приведу минимальные действия для использования приложения. На самом деле, возможностей у этой CMS куда больше.

Сразу стоит сказать о том, что установка этой CMS - не N кликов мышью и - заработало. Но за это вы получаете бОльшую расширяемость на уровне фреймверка.

17 августа 2013 г.

25 июля 2013 г.

Обработчик данных сервиса Gismeteo на Python

Вытащил из прошлого код для обработки XML данных сервиса, предоставляющего прогноз погоды сайта gismeteo.ru. Немного "причесал" его, оформил и выложил на githab. Также есть на pypi.

Модуль формирует данные в красивые строки.

9 июля 2013 г.

HTML purifier на Python. Обновление до 0.1.3

К модулю удаления тегов и атрибутов из HTML добавил Django-поля модели и Django-поля форм.

5 июля 2013 г.

HTML purifier на Python

Для чистки HTML-кода от тегов, сущностей и/или комментариев на Python можно использовать различные подходы. Можно использовать, например, замечательную библиотеку bleach. Но мне не хватило его гибкости и смущает производительность.

3 июля 2013 г.

21 июня 2013 г.

Online генератор паролей на jQuery

Перенес наконец-то свой jQuery генератор паролей на github.

К тому же сделал отдельную страницу с примером реализации.

20 июня 2013 г.

Функция форматирования числа (версия 2) на Javascript

Продолжение темы форматирования числа на Javascript.

Я, всё же, решил переписать код по новой, с тестами. И выложить всё это дело на гитхаб.