一.Box2D是什么?
Box2D是一个用于模拟2D刚体物体的C++引擎。zlib许可是一个自由软件授权协议,但并非copyleft。
Box2D不是一种计算机编程语言,不需要又从变量、数据类型啊一大堆让人头痛的基础知识学起;也不是一种游戏编程软件,不需要复杂的安装与配置。它是一个强大的开源物理游戏引擎,用来模拟2D刚体物体运动和碰撞,由Erin Catto早在2007年用C++语言开发。
Box2D集成了大量的物理力学和运动学的计算,并将物理模拟过程封装到类对象中,将对物体的操作,以简单友好的接口提供给开发者。我们只需要调用引擎中相应的对象或函数,就可以模拟现实生活中的加速、减速、抛物线运动、万有引力、碰撞反弹等等各种真实的物理运动。
二. git clone的下载速度太慢的替代解决办法
- 直接去https://github.com/pybox2d/pybox2d下载压缩包解压(见附件),之后cd到当前文件夹,运行
python setup.py clean
python setup.py install
- 安装过程中出现,关于swig.exe未安装的错误,运行以下指令:
conda install swig
pip install box2d
则安装成功!
3. 之后把~git/cmd文件夹添加到系统环境下。
三. 测试是否安装成功
import Box2D,如果没有报错,则表示安装成功。
示例代码:
import gym
env = gym.make('LunarLander-v2')
print env.observation_space
print env.action_space
for i_episode in range(100):
observation = env.reset()
for t in range(100):
env.render()
print(observation)
action = env.action_space.sample()
observation, reward, done, info = env.step(action)
if done:
print("Episode finished after {} timesteps".format(t+1))
break
运行示例:
参考:
1.百度百科
2.https://blog.csdn.net/u013745804/article/details/78408148
3.https://stackoverflow.com/questions/54252800/python-cant-install-box2d-swig-exe-failed-with-error-code-1