首页 > 其他分享 >Arduino移植Box2D

Arduino移植Box2D

时间:2024-03-06 19:46:02浏览次数:26  
标签:box2d github 头文件 Arduino Box2D lite com 移植

移植方式也挺无脑的,直接把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>的地方都删除

标签:box2d,github,头文件,Arduino,Box2D,lite,com,移植
From: https://www.cnblogs.com/jeason1997/p/18057387

相关文章

  • 2024.3.5 esp8266开发学习_arduino常用函数
    2024.3.5esp8266开发学习_arduino常用函数pinMode函数引脚模式选择,模式有INPUT(输入),OUTPUT(输出),INPUT_PULLUP(上拉输入,自动拉高电平)//GPIOFUNCTIONS#defineINPUT      0x00//输入#defineINPUT_PULLUP   0x02//上拉输入#defineINPUT_PULLDOWN_16......
  • 编译后的opencv-cuda任意位置任意机器的移植(python版本
    测试环境:OS:Windowspython:3.10.11amd64opencv:4.9.0准备:复制build目录下面的install到目标路径,例如:d:\opencv-cuda490\install复制python目录下Lib\site-packages\cv2到目标路径,例如:d:\3.10.11-embed-opencv-cuda\Lib\site-packages修改:假如cv2的目标路径:......
  • 红米note4x mido移植Ubuntu20.04过程记录
    mido设备移植Ubuntu20.04一、初始化环境1.安装编译依赖环境#这里宿主机使用Ubuntu20.04系统sudoaptinstallbinfmt-supportqemu-user-staticgcc-10-aarch64-linux-gnukernel-packagefakerootsimg2imgimg2simgmkbootimgbisonflexgcc-aarch64-linux-gnupkg-config......
  • coremark & dhrystone 移植要点
    目录移植coremark&dhrystone要点1.coremark1.1coremark计算方法1.2coremark移植方法2.dhrystone2.1dhrystone计算方式2.2dhrystone移植要点移植coremark&dhrystone要点1.coremark1.1coremark计算方法​ 计算的核心为下方的代码start_time();#if(MULTI......
  • 系统调用和高级语言可移植性
    在计算机中尚不存在操作系统的年代,程序员需要编写出处理相关的所有程序。用机器语言编写程序,然后再使用开关将程序输入,这一过程非常麻烦。基于此,就有人开发出了仅具有加载和运行功能的监控程序,这就是操作系统的原型。操作系统也被称为基础软件,它是计算机运行时不可或缺的控制程序......
  • linux内核-4.rootfs构建移植
    1根文件系统的引入我们知道文件系统类型有FATFS、FAT、EXT4、YAFFS和NTFS,squashfs等。文件系统可以让我们利用文件IO的形式对文件目录进行访问,而不用去访问flash存储地址,在使用上更为方便轻松。根文件系统rootfs,首先是内核启动时所mount(挂载)的第一个文件系统,系统引导启......
  • RTT--BSP移植
    问题:按照官网制作BSP工程,编译通过,使用scons--dist命令打包工程,打包的工程编译失败,包含的路径错误方法:在打包的工程中,使用ENV输入scons--target=mdk5,再编译RTThread教你如何根据自己的板子制作BSP_rt-thread如何制作自己的板载bsp-CSDN博客 scons--dist命令使用后的错误-......
  • Arduino学习笔记
    教程ArduinoUno单片机零基础入门学用Arduino@B站.太极创客ArduinoNano单片机2023年ArduinoNano教程@B站.唐老思Arduino核心板ArduinoNanoArduino第三方库ArduinoLibraryList......
  • arduino esp8266 舵机控制
    舵机的控制:舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms~2.5ms范围内的角度控制脉冲部分。以180度角度伺服为例,那么对应的控制关系是这样的:0.5ms--------------0度;1.0ms------------45度;1.5ms------------90度;2.0ms-----------135度;2.5ms-----------1......
  • RT-Thread内核-RT-Thread SMP 介绍与移植
    转载原文 https://blog.csdn.net/kingpower2018/article/details/134365819 RT-Thread内核-RT-ThreadSMP介绍与移植①RT-Thread内核-RT-ThreadSMP介绍与移植RT-ThreadSMP介绍与移植多核启动CPU0启动流程次级CPU启动流程多核调度任务特性调度......