python box2d 教程_python下的Box2d物理引擎的配置
I come back!
由于已经大四了,正在找工作
导致了至今以来第二长的时间内没有更新博客。向大家表示道歉
前言
Box2d物理引擎
Box2d是一款开源的2d物理引擎,存在很多的版本,C++,Java,html5和python等等
著名的愤怒的小鸟就是使用了这款物理引擎进行开发的
目前也有很多的2d游戏引擎内置了对Box2d物理引擎的支持,比如cocos2d,HTML5的2D游戏引擎FLAG
Box2d物理引擎内部模拟了一个世界,你可以设置这个世界里的重力,然后往这个世界里添加各种物体,以及他们的一些物理特性,比如质量,摩擦,阻尼等等
在设置完这个世界的更新频率后,box2d会为你计算每次更新后的每一个物体的所在的位置和旋转角度。
由于Box2d本身是不负责渲染,我们在使用box2d物理引擎的时候,实际上是将我们在项目中需要绘制出的精灵进行坐标变换后,变成box2d内部世界中的一个物体,由
box2d物理引擎计算这个物体每次更新后位置及选择角度,然后我们在获得这个位置和角度并进行坐标变换,变成我们需要绘制的精灵的位置,并将其绘制出来
这个是我以前在windows phone做的一款游戏 image bird (http://www.dwz.cn/nD94d)
里面用的就是box2d物理引擎,感兴趣的可以下下来,玩一玩。
image
一、配置环境
windows7
python2.7
二、配置方法
1、下载python版的box2d物理引擎,大家解压缩之后可以发现里面有一个setup.py的文件。
(http://code.google.com/p/pybox2d/wiki/BuildingfromSource 这里讲解了windows,linux,os X下的配置
不过是英文的,大家可以自己阅读尝试配置一下)
2、下载MinGW并安装,并将它的路径下的bin文件添加到环境变量中(我这里是C:\MinGW\bin)
(MinGW(Minimalist GNU for Windows),又称mingw32,是将gcc编译器和GNU Binutils移植到Win32平台下的产物,包括一系列头文件(Win32API)、库和可执行文件。)
3、下载MSYS并安装
(MSYS是一个小型的GNU环境,包括基本的bash,make等等)
4、下载安装SWIG并安装,将它的路径添加到环境变量中(我这里是“D:\swigwin-3.0.2\swigwin-3.0.2”)
(SWIG是一种简化脚本语言与C/C++接口的开发工具。简而言之,SWIG是一个通过包装和编译 C 语言程序来达到与脚本语言通讯目的的工具)
5、下载python2.7并安装,将它的路径添加到环境变量中(我这里是“D:\Python27”)
(这里有一个让环境变量立刻生效的方式就是打开cmd ,
注意这是我们键入echo %PATH% 显示出的结果是没有刚刚我们添加的环境变量的,
我们输入set PATH=C,然后关闭cmd,再次打开的时候,
键入echo %PATH% 就可以发现刚刚添加的环境变量已经显示了出来)
6、打开python路径下的\Lib\distutils\,新建一个distutils.cfg的文件(我这里是“D:\Python27\Lib\distutils”)
内容为:
[build]
compiler=mingw32
[build_ext]
compiler=mingw32
python box2d 教程_python下的Box2d物理引擎的配置相关推荐
- python twisted教程_Python下的twisted框架入门指引
什么是twisted? twisted是一个用python语言写的事件驱动的网络框架,他支持很多种协议,包括UDP,TCP,TLS和其他应用层协议,比如HTTP,SMTP,NNTM,IRC,XMPP/ ...
- 视频教程-快速入门Python基础教程_Python基础知识大全-Python
快速入门Python基础教程_Python基础知识大全 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥99.00 立即 ...
- python 物理引擎 摩擦力_Python 愤怒的小鸟代码实现:物理引擎pymunk使用
游戏介绍 最近比较忙,周末正好有时间写了python版本的愤怒的小鸟,使用了物理引擎pymunk,图片资源是从github上下载的,实现了一个可玩的简单版本. 功能实现如下:支持小鸟类型:红色小鸟,蓝 ...
- 视频教程-快速入门Python基础教程_Python基础进阶视频-Python
快速入门Python基础教程_Python基础进阶视频 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥199.00 立 ...
- python后端教程_Python学习教程(技术干货):关于前后端分离开发入门
原标题:Python学习教程(技术干货):关于前后端分离开发入门 对于程序员来说,其实Tab和空格远远不只是"立场"问题那么简单. 在不同的编辑器里tab的长度可能不一致,所以在一 ...
- python ctypes教程_python ctypes是什么
ctypes是python的一个函数库,提供和C语言兼容的数据类型,可以直接调用动态链接库中的导出函数. 为了使用ctypes,必须依次完成以下步骤: ·加载动态链接库 ·将python对象转换成ct ...
- python绘图教程_Python绘图教程
python绘图教程 Plotly (Plot.ly as its URL goes), is a tech-computing company based in Montreal. It is kn ...
- python生产教程_python系列教程6
声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好的理解人工智能技术,我让助理负责分享这套python系列教程,希望能帮到大家! 当Pytho ...
- python教程是什么-Python基础教程_Python入门知识
Python基础教程频道为编程初学者提供入门前的所有基础知识,必须要掌握的一些PYTHON基础语法语句,基本的数据类型. 让大家可以更快速.更容易理解的的方式掌握Python编程所需要的基础知识,灵活 ...
最新文章
- [置顶] 【Visual C++】游戏开发笔记之一——API函数、DirectX的关键系统...
- 简单的线性回归实现模型的存储和读取
- tomcat配置文件context.xml和server.xml分析
- 尴尬了!“中国版ins”绿洲 logo涉嫌抄袭,确认已下架
- poj 3211 Washing Clothes (01)
- 浏览器用户用滤镜实现网页的翻转效果
- 基于BP神经网络的数字识别
- 做电脑技术员几年的心得
- idea中加入插入当前系统日期快捷键
- 如何快速调出软键盘_怎样打开电脑软键盘,打开软键盘快捷键
- Cartographer 3D 建图实战-(基于禾赛32线雷达和Xsens MTi-G-710 组合导航模块,松灵Scout mini 底盘实际进行实验)
- [芦半山]Android native分析工具ASAN和HWASAN原理解析
- vue实现列表无缝滚动
- 机器学习 笔记04 ---决策树(DT):理论+代码实现
- java.lang.String_不兼容的类型:java.lang.String无法转换为Str...
- Vue+DataV+Echarts组件创建炫酷科技大屏~(注释多多)
- 用ARIMA模型做需求预测
- [ssh新闻发布系统五]删除新闻
- 解决bootstrap中glyphicon无法显示图标只显示方框的问题
- android gradle下载慢的解决方法
热门文章
- 制作Ubuntu的deb格式包 从Hello World做起
- 1011 A+B 和 C (15 分)c++
- HOT 100(一)
- CrossOver Mac2022虚拟机如何安装win10系统和linux系统
- 【Go】超详细Go入门
- 神经网络的基本特性有,简述什么是神经网络
- 四川省乐山市计算机学校坠楼,痛惜!四川乐山一17岁女孩坠楼身亡,强烈呼吁关注抑郁症人群...
- 用virtual实现TemplateMethod和Strategy--龙之介《Effective C++》实验室
- 【转】SSRF(Server-Side Request Forgery:服务器端请求伪造)
- NetApp存储产品---知识笔记