Коробка2D
![]() Текущий логотип Box2D | |
Скриншот | |
Разработчик(и) | Эрин Катто |
---|---|
Первоначальный выпуск | 11 сентября 2007 г. |
Стабильная версия | 2.4.1 ![]() |
Репозиторий | |
Написано в | С++ |
Операционная система | Независимый от ОС |
Тип | Промежуточное ПО |
Лицензия | СО (начиная с версии 2.4.0) [ 2 ]
Лицензия zlib |
Веб-сайт | www |
Box2D — это бесплатный с открытым исходным кодом, двумерного физического симулятора движок написанный на C++ Эрин Катто и опубликованный под лицензией MIT . Он использовался в Crayon Physics Deluxe , Limbo , Rolando , Incredibots , Angry Birds , Tiny Wings , Shovel Knight , Transformice , Happy Wheels , [ 3 ] и множество онлайн-флеш-игр, [ 4 ] а также игры для iPhone, iPad и Android, использующие игровой движок Cocos2d или Moscrif и платформу Corona .
История
[ редактировать ]Box2D был впервые выпущен как «Box2D Lite», демонстрационный движок для сопровождения физической презентации, сделанной Эрин Катто на GDC 2006. 11 сентября 2007 года он был выпущен с открытым исходным кодом на SourceForge . 17 января 2010 г. Box 2D перенесла проект на Google Code . хостинг [ 5 ] 12 июля 2015 года хостинг снова был перенесен, на этот раз на GitHub . [ 6 ]
6 марта 2008 года была запущена версия 2.0, в которой введено непрерывное обнаружение столкновений и обновлен API .
27 июля 2020 года была запущена версия 2.4 с множеством изменений, в частности, лицензия была изменена на MIT License . [ 7 ]
Кроссплатформенная доступность
[ редактировать ]Box2D сам по себе написан на независимом от платформы C++ (можно использовать в любой системе, где имеется компилятор C++). Движок может быть скомпилирован в режимах с фиксированной и плавающей запятой и использовался на Nintendo DS , Wii и нескольких мобильных телефонах (включая Android , BlackBerry 10 и iOS ), а также в большинстве основных операционных систем.
Движок был портирован на многие другие языки программирования и среды, включая Java . [ 8 ] Adobe Flash (в ActionScript [ 9 ] и Хаксе [ 10 ] языки), C# , [ 11 ] Луа , JavaScript , [ 12 ] [ 13 ] и Д. [ 14 ] Существуют привязки для использования скомпилированной библиотеки из Python , [ 15 ] DarkBASIC и BBC BASIC .
30 октября 2009 года было объявлено, что Box2D интегрируется в (теперь более старый) игровой движок Torque 2D . [ 16 ]
Программы, использующие движок
[ редактировать ]- BBC Basic для SDL , кроссплатформенная версия BBC Basic
- БлицБазовый
- GameMaker: Studio использует движок для моделирования физики.
- LibGDX использует физический движок для игр и освещения.
- Stencyl использует физический движок для игр и позволяет экспортировать во Flash и iOS.
- Единство
- Конструкт2
- LÖVE использует физический движок для игр. [ 17 ]
- Солнечная2D
- Кликтим Фьюжн 2.5
- Flame , Flutter. игровой движок
Функции
[ редактировать ]Box2D выполняет моделирование твердого тела с ограничениями . Он может моделировать тела, состоящие из выпуклых многоугольников , кругов и форм ребер. Тела соединены суставами и на них действуют силы . Двигатель также применяет гравитацию , трение и восстановление .
Система обнаружения и разрешения столкновений Box2D состоит из трех частей: инкрементальной развертки и сокращения широкой фазы, блока непрерывного обнаружения столкновений и стабильного контактного решателя с линейным временем. Эти алгоритмы позволяют эффективно моделировать быстрые тела и большие стопки, не пропуская столкновений и не вызывая нестабильности. [ 18 ]
Связанные двигатели
[ редактировать ]Более ранняя версия движка Box2D, теперь известная как Box2D Lite, была выпущена в первую очередь для образовательных целей на основе серии ежегодных презентаций на конференции разработчиков игр , которые проводила Эрин Катто. Box2D Lite использует многие из тех же алгоритмов, что и Box2D, но имеет меньший набор функций.
Физический движок «Бурундук» (написан на C) [ 19 ] и Phys2D (написан на Java) [ 20 ] оба частично основаны на Box2D Lite. Физический движок, используемый в SpriteKit для iOS и OS X, внутренне использует Box2D. [ 21 ]
Физический движок LiquidFun — это форк Box2D от Google . [ 22 ] который добавляет симуляцию жидкости в движок .
LibGDX использует Java-оболочку вокруг собственного кода Box2D, написанного на C++, в качестве физического движка. [ 23 ]
Статьи
[ редактировать ]Иттерхайм и Вендерлих описывают использование Box2D в движке Cocos2d для iPhone . [ 24 ] [ 25 ] В статье в информационном бюллетене Adobe Edge обсуждается использование Box2D во Flash-играх. [ 26 ]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Эрин Катто. «Последний выпуск» . Гитхаб .
- ^ «Box2D на GitHub» . Гитхаб . 15 октября 2021 г.
- ^ «Играйте в Happy Wheels онлайн – AndroidFantasy» . Архивировано из оригинала 5 сентября 2015 года . Проверено 14 августа 2015 г.
- ^ «Игры Box2d в Jayisgames» . Джейисигры.
- ^ «Box2D – Домой» . Бокс2Д. Архивировано из оригинала 23 октября 2007 года.
- ^ «Хостинг GitHub | Box2D» . box2d.org . Архивировано из оригинала 6 апреля 2018 года . Проверено 6 апреля 2018 г.
- ^ «Релиз v2.4.0» . github.com . Проверено 14 августа 2020 г.
- ^ «JBox2D: физический движок Java» . JBox2D.
- ^ «AS3 Flash Physics Engine Box2DFlashAS3 2.0.1» . Бокс2Д.
- ^ «Архив кода Google — долгосрочное хранилище для хостинга проектов Google Code» .
- ^ «Архив кода Google — долгосрочное хранилище для хостинга проектов Google Code» .
- ^ «Бокс2ДЖС» . Бокс2Д.
- ^ «GitHub – hecht-software/box2dweb: автоматически экспортируется с code.google.com/p/box2dweb» . Гитхаб . 16 сентября 2021 г.
- ^ «пылать» . Дсорс.
- ^ «Pybox2d/pybox2d: физика 2D-игр для Python» . Гитхаб . Проверено 19 февраля 2016 г.
- ^ Перри, Майкл (30 октября 2009 г.). «Блог разработки Torque 2D — Обзор Box2D» . www.garagegames.com . Проверено 26 февраля 2016 г.
- ^ «Любовь.физика – ЛЮБОВЬ» .
- ^ «Глава 1 Введение» . Бокс2Д. Архивировано из оригинала 27 марта 2009 года.
- ^ «Архив кода Google — долгосрочное хранилище для хостинга проектов Google Code» .
- ^ «Индекс /phys2d» . Кокс и код.
- ^ «tm4ko — Ghostbin» . Призрачный ящик. Архивировано из оригинала 27 июля 2013 года.
- ^ «ЛиквидФун» . google.github.io . Проверено 12 марта 2017 г.
- ^ «Физика · libgdx/Libgdx Wiki» . Гитхаб .
- ^ Штеффен Иттерхайм. (2010). «Изучите разработку игр cocos2d для iPhone и iPad». Апресс.
- ^ Род Струго и Рэй Вендерлих. (2011). «Изучение Cocos2d: практическое руководство по созданию игр для iOS с помощью Cocos2d, Box2d и Chipmunk». Аддисон-Уэсли Профессионал.
- ^ «Adobe Edge: апрель 2010 г. — Разработка игр, основанных на физике, с помощью Adobe Flash Professional» . Adobe. Архивировано из оригинала 11 августа 2011 года . Проверено 19 июля 2016 г.