Box2D

Box2D
Utvecklare Erin Catto
Initial release 11 september 2007 ( 2007-09-11 )
Stabil frisättning
Edit this on Wikidata 2.4.1 / 18 oktober 2020 ; 2 år sedan ( 18 oktober 2020 )
Förvar
Skrivet i C++
Operativ system OS oberoende
Typ Mellanvara
Licens
MIT (sedan version 2.4.0) zlib-licens
Hemsida www .box2d .org

Box2D är en gratis tvådimensionell fysiksimulatormotor med öppen källkod skriven i C++ av Erin Catto och publicerad under MIT - licensen . Det har använts i Crayon Physics Deluxe , Limbo , Rolando , Incredibots , Angry Birds , Tiny Wings , Shovel Knight , Transformice , Happy Wheels och många online Flash-spel, såväl som iPhone, iPad och Android-spel med Cocos2d eller Moscrif-spelet motor och Corona- ramverk.

Historia

Box2D släpptes först som "Box2D Lite", en demonstrationsmotor för att åtfölja en fysikpresentation som gavs av Erin Catto på GDC 2006. Den 11 september 2007 släpptes den som öppen källkod på SourceForge . Den 17 januari 2010 flyttade Box 2D projektet till Google Code för värd. Den 12 juli 2015 flyttades hosting igen, denna gång till GitHub .

Den 6 mars 2008 lanserades version 2.0, som introducerade kontinuerlig kollisionsdetektion och förnyade API :et .

Den 27 juli 2020 lanserades version 2.4, med en mängd olika ändringar, framför allt ändrades licensen till MIT-licensen .

Tillgänglighet över plattformar

Box2D är själv skrivet i plattformsoberoende C++ (kan användas på alla system med en C++-kompilator tillgänglig). Motorn kan kompileras i för fast punkt och flyttal , och har använts på Nintendo DS , Wii och flera mobiltelefoner (inklusive Android , BlackBerry 10 och iOS ) såväl som de flesta större operativsystem.

Motorn har porterats till många andra programmeringsspråk och miljöer, inklusive Java , Adobe Flash (i ActionScript- och Haxe -språk), C# , Lua , JavaScript och D . Det finns bindningar för att använda det kompilerade biblioteket från Python , DarkBASIC och BBC BASIC .

Den 30 oktober 2009 tillkännagavs att Box2D integrerades i den (nu äldre) Torque 2D-spelmotorn .

Program som använder motorn

Funktioner

Box2D utför simulering av begränsad stel kropp . Den kan simulera kroppar som består av konvexa polygoner , cirklar och kantformer. Kroppar sammanfogas med leder och påverkas av krafter . Motorn tillämpar också gravitation , friktion och restitution .

Box2D:s kollisionsdetektering och upplösningssystem består av tre delar: en inkrementell svep- och beskärningsfas , en kontinuerlig kollisionsdetekteringsenhet och en stabil linjär-tidskontaktlösare. Dessa algoritmer tillåter effektiva simuleringar av snabba kroppar och stora stackar utan att missa kollisioner eller orsaka instabilitet.

Relaterade motorer

En tidigare version av Box2D-motorn, nu känd som Box2D Lite, släpptes främst för utbildningsändamål, baserat på en serie årliga presentationer av spelutvecklarkonferensen som Erin Catto har hållit. Box2D Lite använder många av samma algoritmer som Box2D, men har en mindre funktionsuppsättning.

Chipmunk - fysikmotorn (skriven i C) och Phys2D (skriven i Java) är båda delvis baserade på Box2D Lite. Fysikmotorn som används i SpriteKit för iOS och OS X använder Box2D internt.

LiquidFun-fysikmotorn är en gaffel av Box2D av Google , som lägger till vätskesimulering till motorn.

LibGDX använder ett Java-omslag runt inbyggd Box2D-kod skriven i C++ som sin fysikmotor.

Artiklar

Itterheim och Wenderlich beskriver användningen av Box2D i Cocos2d iPhone -motorn. En artikel i Adobe Edge-nyhetsbrevet diskuterar användningen av Box2D i Flash-spel.

Se även

externa länkar