Libgdx Box2D现实---这缓释微丸(两:Box2D介绍)
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介绍)的更多相关文章
- Libgdx Box2D现实------这缓释微丸(一个:项目介绍)
它花了两个星期的假写物理游戏,在几次课逃逸,是大学,因为大部分时间点!今天,我基本上一直每节课的点1-3有时它,哎,这似乎是不再逃跑.不知道值没有值得,仅仅是简单地想做自己喜欢的事情,而不是跟老师大眼 ...
- Libgdx Box2D真实---这缓释微丸(三:规则经常使用body和精灵联合)
介绍规则body怎样和图片结合.上一篇文章我介绍了box2D的基本知识,假设你用心的话.你会搜索网上相关简单demo吧.那些我就不写了.那么假设我用图片表示我的那个body.而不是简单线条.那该怎么办 ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_3-04 SpringCloud微服务核心组件Eureka介绍和闭源后影响
笔记 4.SpringCloud微服务核心组件Eureka介绍和闭源后影响 简介: SpringCloud体系介绍 官方地址:http://projec ...
- [libgdx游戏开发教程]使用Libgdx进行游戏开发(11)-高级编程技巧 Box2d和Shader
高级编程技巧只是相对的,其实主要是讲物理模拟和着色器程序的使用. 本章主要讲解利用Box2D并用它来实现萝卜雨,然后是使用单色着色器shader让画面呈现单色状态:http://files.cnblo ...
- 微服务与Docker介绍
什么是微服务 微服务应用的一个最大的优点是,它们往往比传统的应用程序更有效地利用计算资源.这是因为它们通过扩展组件来处理功能瓶颈问题.这样一来,开发人员只需要为额外的组件部署计算资源,而不需要部署一个 ...
- 微服务框架Lagom介绍之一
背景 Lagom是JAVA系下响应式 微服务框架,在阅读本文之前请先阅读微服务架构设计,Lagom与其他微服务框架相比,与众不同的特性包括: 目前,大多数已有的微服务框架关注于简化单个微服务的构建-- ...
- 【Tars】腾讯微服务框架Tars介绍
目录 1.介绍2.设计思路3.整体架构4.平台特性1. 介绍 Tars是[基于名字服务][使用Tars协议]的高性能[RPC]开发框架,同时配套一体化的[服务治理平台],帮助个人或者企业快速的以微服务 ...
- java框架之SpringCloud(1)-微服务及SpringCloud介绍
微服务概述 是什么 业界大牛 Martin Fowler 这样描述微服务: 参考[微服务(Microservices)-微服务原作者Martin Flower博客翻译]. 下面是关于上述博客中的部分重 ...
- 微服务框架 ketchup 介绍
1.背景 在ketchup诞生之前.期间也是用surging开发了两个项目.奈何surging没有文档,升级之后,只能从头在读一遍源码,了解新功能,会消耗大量的时间.商业化也使一些 想学习微服务的人望 ...
随机推荐
- [ACM] HDU 2295 Radar (二分法+DLX 重复覆盖)
Radar Problem Description N cities of the Java Kingdom need to be covered by radars for being in a s ...
- Struts2_1_struts2建立一个执行环境
1)最低需要进口jar包: commons-fileupload-1.2.1.jar.commons-logging-1.0.4.jar. freemarker-2.3.15.jar.ognl-2.7 ...
- word插入图片显示不完整的解决的方法
有时在编写word文档,插入图片时,会出现图不完整的情况. 解决方法是:选中图片,段落格式设置为单位行距(不是22磅),图片格式为嵌入式.问题解决.
- windows server 2008见安装IIS方法(解决)
windows server 2008见安装IIS方法(解决) 刚开始有点蒙,后来才知道原来如此.! . 右键点击[我的电脑]--[管理]--[字符]--[加入角色]--仅落后win7像.啊! 版权声 ...
- C++ Web Programming
一般的网关接口或者CGI,就是一个标准的集合.它定义信息怎样再问吧server和一般脚本间的交换. CGI的说明书是由NCSA维护,NCSA定义CGI的范畴:一般的网关接口或者CGI是外部网关程序的一 ...
- PS多形式的部分之间复制“笨办法”
PS剪切页面,有时候你可能会遇到这样的情况:设计改进,但是,我们要具有相同的切片. 在此假设,可以直接用于切割片.我们可以节省大量的时间,又分为片. 但是,人们一般不会在你的上跨片设计PSD在变化,但 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(10)- VSS源代码管理
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(10)- VSS源代码管理 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框架搭建 ( ...
- 采用RedisLive监控Redis服务
1.基础环境安装https://pypi.python.org/packages/source/b/backports.ssl_match_hostname/backports.ssl_match_h ...
- Unity插件之NGUI学习(6)—— 关于Widget怎样加入触发事件(触发OnClick)
NGUI中,Button本身就带有OnClick事件,可是Sprite,Label等( 也绑有Widget的)并没有触发事件,事实上NGUI的事件触发都必须加入Box Collider,并勾选Is T ...
- Cocos2d-x之MenuItem
***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...