Arduino移植Box2D

移植方式也挺无脑的,直接把box2d的官方项目挪到arduino库目录下就行,然后修改下include路径

已经移植好的版本:https://files.cnblogs.com/files/jeason1997/arduino_box2d.7z?t=1709724765&download=true

直接放到C:\Users\用户\Documents\Arduino\libraries下即可

 

Box2D:erincatto/box2d: Box2D is a 2D physics engine for games (github.com)

1.把include/box2d下的头文件全部挪到src下面,然后把src下面的文件夹里的cpp文件,全部挪到src根目录,跟h头文件保持在一起(其实不要也行,但为了修改方便,就放一起了)

2.批量修改,搜索所有 "box2d/ 字眼,替换为 ",即修改cpp引用的头文件为当前目录

3.然后全部文件拷贝到arduino项目目录下,就可以直接引用box2d.h来使用了

 

Box2D_Lite:erincatto/box2d-lite: A small 2D physics engine (github.com)

1.把include\box2d-lite下的头文件全部挪到src下面

2.批量修改,搜索所有 "box2d-lite/ 字眼,替换为 ",即修改cpp引用的头文件为当前目录

3.然后全部文件拷贝到arduino项目目录下,就可以直接引用World.h来使用了

 

Box2D_Lite定点数版本:Physics-Dude/ArduBox2D-lite: A modification of Box2D-lite with fixed-point numbers that can simulate multiple rigid bodies with collisions on the Arduboy. (github.com)

这个是某个作者已经移植好的版本,并且将里面所有的浮点预算替换为定点数库:Pharap's FixedPointsArduino: https://github.com/Pharap/FixedPointsArduino/

并且,由于Arduboy不支持原生C++ STL,还使用了专为Arduino做的STL库:mike-matera's ArduinoSTL: https://github.com/mike-matera/ArduinoSTL

如果是要给其他平台如8266使用,则需要把所有#include <ArduinoSTL.h>的地方都删除

posted @ 2024-03-06 19:33  JeasonBoy  阅读(20)  评论(0编辑  收藏  举报