Box2D官方网站 : http://box2d.org/

Box2D v2.1.0用户手冊翻译 : http://blog.csdn.net/complex_ok/article/category/871440

Libgdx使用jni封装了box2d的c++版本号,使得其执行效率比其它同级的物理引擎如jbox2d快不少。

一、基础类

BodyDef 

A body definition holds all the data needed to construct a rigid body. You can safely re-use body definitions. Shapes are added to a body after construction.

定义Body所须要的全部数据都由它负责,我们能够反复使用。

Shape与Body的绑定必须在它之后完毕。

这个我理解为能够通过它来定义物体模型的类型等数据,它放入Body中。

常见使用方法是来定义类型:

BodyDef ballBodyDef = new BodyDef();  //构建对象
ballBodyDef.type = BodyType.DynamicBody;//定义类型,DynamicBody是不受控制的动态物体,KinematicBody是受控制的动态物体,StaticBody是静态物体

Body

A rigid body. These are created via World.CreateBody.

这是一个非常坚硬的物体,不要妄想去改变它的形状。我们仅仅能通过World.CreateBody方法来创建它。

使用方法例如以下(ballModels是body):

ballModels = world.createBody(ballBodyDef);
ballModels.createFixture(fd);

Box2DDebugRenderer

用于測试Box2D的图形显示。会把图形的形状通过不同颜色绘制出来。

ChainShape、CircleShape 、EdgeShape 、PolygonShape 

他们都继承于Shap,是最主要的图形

Fixture

将形状绑定到物体之上, 并有一定的材质属性, 比方密度(density)等。必须由Body.createFixture生成。

FixtureDef

Fixture的属性申明。可反复使用。

FixtureDef fd = new FixtureDef();
fd.density = 1;//密度
fd.friction = 0f;//摩擦力
fd.restitution = 0.5f;//弹力0-1,1为全然弹性碰撞
fd.shape = shape;

World

The world class manages all physics entities, dynamic simulation, and asynchronous queries. The world also contains efficient memory management facilities.

管理全部物理实体,动态模拟,异步查询。

还包括高效的内存管理机制。

物理世界,管理全部body,

如:

<span style="color:#33cc00;">world = new World(new Vector2(0, -10f), false);//代表向下重力加速度为10的物理世界</span>
<span style="color:#33cc00;"></span>

因为物理世界和render中时间不一致,我们一般要进行转换,就是在render方法中加一句:

world.step(1 / 60f, 10, 10);

同一时候,物理世界參考点在屏幕中心。而stage是(0,0),希望大家可以注意。

物理世界的长度不是依照像素计算的。要注意单位换算。一般换算比是    1:60,。物理世界是1.




版权声明:本文博客原创文章。博客,未经同意,不得转载。

Libgdx Box2D现实---这缓释微丸(两:Box2D介绍)的更多相关文章

  1. Libgdx Box2D现实------这缓释微丸(一个:项目介绍)

    它花了两个星期的假写物理游戏,在几次课逃逸,是大学,因为大部分时间点!今天,我基本上一直每节课的点1-3有时它,哎,这似乎是不再逃跑.不知道值没有值得,仅仅是简单地想做自己喜欢的事情,而不是跟老师大眼 ...

  2. Libgdx Box2D真实---这缓释微丸(三:规则经常使用body和精灵联合)

    介绍规则body怎样和图片结合.上一篇文章我介绍了box2D的基本知识,假设你用心的话.你会搜索网上相关简单demo吧.那些我就不写了.那么假设我用图片表示我的那个body.而不是简单线条.那该怎么办 ...

  3. 小D课堂 - 新版本微服务springcloud+Docker教程_3-04 SpringCloud微服务核心组件Eureka介绍和闭源后影响

    笔记 4.SpringCloud微服务核心组件Eureka介绍和闭源后影响     简介:         SpringCloud体系介绍             官方地址:http://projec ...

  4. [libgdx游戏开发教程]使用Libgdx进行游戏开发(11)-高级编程技巧 Box2d和Shader

    高级编程技巧只是相对的,其实主要是讲物理模拟和着色器程序的使用. 本章主要讲解利用Box2D并用它来实现萝卜雨,然后是使用单色着色器shader让画面呈现单色状态:http://files.cnblo ...

  5. 微服务与Docker介绍

    什么是微服务 微服务应用的一个最大的优点是,它们往往比传统的应用程序更有效地利用计算资源.这是因为它们通过扩展组件来处理功能瓶颈问题.这样一来,开发人员只需要为额外的组件部署计算资源,而不需要部署一个 ...

  6. 微服务框架Lagom介绍之一

    背景 Lagom是JAVA系下响应式 微服务框架,在阅读本文之前请先阅读微服务架构设计,Lagom与其他微服务框架相比,与众不同的特性包括: 目前,大多数已有的微服务框架关注于简化单个微服务的构建-- ...

  7. 【Tars】腾讯微服务框架Tars介绍

    目录 1.介绍2.设计思路3.整体架构4.平台特性1. 介绍 Tars是[基于名字服务][使用Tars协议]的高性能[RPC]开发框架,同时配套一体化的[服务治理平台],帮助个人或者企业快速的以微服务 ...

  8. java框架之SpringCloud(1)-微服务及SpringCloud介绍

    微服务概述 是什么 业界大牛 Martin Fowler 这样描述微服务: 参考[微服务(Microservices)-微服务原作者Martin Flower博客翻译]. 下面是关于上述博客中的部分重 ...

  9. 微服务框架 ketchup 介绍

    1.背景 在ketchup诞生之前.期间也是用surging开发了两个项目.奈何surging没有文档,升级之后,只能从头在读一遍源码,了解新功能,会消耗大量的时间.商业化也使一些 想学习微服务的人望 ...

随机推荐

  1. boostrap-非常好用但是容易让人忽略的地方------row

    row是非常好用但是却非常容易忽略的地方. 想实现内部元素相对父级的padding=0,则在父子中间加个row.如下图 列嵌套也是同样的道理 经验之谈:学会row的用法,在手机版布局的时候会很方便,否 ...

  2. 博客搬到了http://xianglong.me

    自己用Django建立个人博客.这个博客的部分已经迁移到新的个人博客. 博客地址:龙 (http://xianglong.me),欢迎. 版权声明:本文博客原创文章,博客,未经同意,不得转载.

  3. HDU 3853 LOOPS 可能性dp(水

    在拐~ #include <stdio.h> #include <cstring> #include <iostream> #include <map> ...

  4. CentOS7 安装spark集群

    Spark版本 1.6.0 Scala版本 2.11.7 Zookeeper版本 3.4.7 配置虚拟机 3台虚拟机,sm,sd1,sd2 1. 关闭防火墙 systemctl stop firewa ...

  5. hdu 1316 How Many Fibs? (模拟高精度)

    题目大意: 问[s,e]之间有多少个 斐波那契数. 思路分析: 直接模拟高精度字符串的加法和大小的比較. 注意wa点再 s 能够从 0 開始 那么要在推断输入结束的时候注意一下. #include & ...

  6. CocoaChina 第四个测试

    1. iOS同意近期本地通知数量最大为多少? A.64 B.32 C.128 D.16 2. int x = 1; int y = 2; int z = x^y*y; NSLog(@"%d& ...

  7. uva 10228 - Star not a Tree?(模拟退火)

    题目链接:uva 10228 - Star not a Tree? 题目大意:给定若干个点,求费马点(距离全部点的距离和最小的点) 解题思路:模拟退火算法,每次向周围尝试性的移动步长,假设发现更长处, ...

  8. C#开发人员能够可视化操作windows服务

    使用C#开发自己的定义windows服务是一个很简单的事.因此,当.我们需要发展自己windows它的服务.这是当我们需要有定期的计算机或运行某些程序的时候,我们开发.在这里,我有WCF监听案例,因为 ...

  9. 优秀团队建设--美国式团队(ppt)

    美国式团队 一.团队精神 团队精神反映一个人的素养.一个人的能力,一个人与别人合作的精神和能力.一个团队是个有机的总体,作为个人,仅仅有全然融入到这个有机总体之中,才干最大限度地体现自己的价值. 团队 ...

  10. 你可以不知道原因,但是,我们不能停止努力。httplook抓取路由配置界面信息

    因为实验室的项目要求,需要动态控制路由的配置信息,我们知道.路由选择需要购买的访问后,:http://192.168.1.1 路由配置页面.配置,不须要人手工操作.甚至定时任务配置的时候,就须要进一步 ...