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物理引擎的配置相关推荐

  1. python twisted教程_Python下的twisted框架入门指引

    什么是twisted? twisted是一个用python语言写的事件驱动的网络框架,他支持很多种协议,包括UDP,TCP,TLS和其他应用层协议,比如HTTP,SMTP,NNTM,IRC,XMPP/ ...

  2. 视频教程-快速入门Python基础教程_Python基础知识大全-Python

    快速入门Python基础教程_Python基础知识大全 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥99.00 立即 ...

  3. python 物理引擎 摩擦力_Python 愤怒的小鸟代码实现:物理引擎pymunk使用

    游戏介绍 最近比较忙,周末正好有时间写了python版本的愤怒的小鸟,使用了物理引擎pymunk,图片资源是从github上下载的,实现了一个可玩的简单版本. 功能实现如下:支持小鸟类型:红色小鸟,蓝 ...

  4. 视频教程-快速入门Python基础教程_Python基础进阶视频-Python

    快速入门Python基础教程_Python基础进阶视频 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥199.00 立 ...

  5. python后端教程_Python学习教程(技术干货):关于前后端分离开发入门

    原标题:Python学习教程(技术干货):关于前后端分离开发入门 对于程序员来说,其实Tab和空格远远不只是"立场"问题那么简单. 在不同的编辑器里tab的长度可能不一致,所以在一 ...

  6. python ctypes教程_python ctypes是什么

    ctypes是python的一个函数库,提供和C语言兼容的数据类型,可以直接调用动态链接库中的导出函数. 为了使用ctypes,必须依次完成以下步骤: ·加载动态链接库 ·将python对象转换成ct ...

  7. python绘图教程_Python绘图教程

    python绘图教程 Plotly (Plot.ly as its URL goes), is a tech-computing company based in Montreal. It is kn ...

  8. python生产教程_python系列教程6

    声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好的理解人工智能技术,我让助理负责分享这套python系列教程,希望能帮到大家! 当Pytho ...

  9. python教程是什么-Python基础教程_Python入门知识

    Python基础教程频道为编程初学者提供入门前的所有基础知识,必须要掌握的一些PYTHON基础语法语句,基本的数据类型. 让大家可以更快速.更容易理解的的方式掌握Python编程所需要的基础知识,灵活 ...

最新文章

  1. [置顶]       【Visual C++】游戏开发笔记之一——API函数、DirectX的关键系统...
  2. 简单的线性回归实现模型的存储和读取
  3. tomcat配置文件context.xml和server.xml分析
  4. 尴尬了!“中国版ins”绿洲 logo涉嫌抄袭,确认已下架
  5. poj 3211 Washing Clothes (01)
  6. 浏览器用户用滤镜实现网页的翻转效果
  7. 基于BP神经网络的数字识别
  8. 做电脑技术员几年的心得
  9. idea中加入插入当前系统日期快捷键
  10. 如何快速调出软键盘_怎样打开电脑软键盘,打开软键盘快捷键
  11. Cartographer 3D 建图实战-(基于禾赛32线雷达和Xsens MTi-G-710 组合导航模块,松灵Scout mini 底盘实际进行实验)
  12. [芦半山]Android native分析工具ASAN和HWASAN原理解析
  13. vue实现列表无缝滚动
  14. 机器学习 笔记04 ---决策树(DT):理论+代码实现
  15. java.lang.String_不兼容的类型:java.lang.String无法转换为Str...
  16. Vue+DataV+Echarts组件创建炫酷科技大屏~(注释多多)
  17. 用ARIMA模型做需求预测
  18. [ssh新闻发布系统五]删除新闻
  19. 解决bootstrap中glyphicon无法显示图标只显示方框的问题
  20. android gradle下载慢的解决方法

热门文章

  1. 制作Ubuntu的deb格式包 从Hello World做起
  2. 1011 A+B 和 C (15 分)c++
  3. HOT 100(一)
  4. CrossOver Mac2022虚拟机如何安装win10系统和linux系统
  5. 【Go】超详细Go入门
  6. 神经网络的基本特性有,简述什么是神经网络
  7. 四川省乐山市计算机学校坠楼,痛惜!四川乐山一17岁女孩坠楼身亡,强烈呼吁关注抑郁症人群...
  8. 用virtual实现TemplateMethod和Strategy--龙之介《Effective C++》实验室
  9. 【转】SSRF(Server-Side Request Forgery:服务器端请求伪造)
  10. NetApp存储产品---知识笔记