让刚体听我的-applyforce、applyimpulse、setlinearvelocity
来源:互联网 发布:mac mysql管理工具 编辑:程序博客网 时间:2024/06/05 05:57
原文地址:
http://www.ladeng6666.com/blog/2012/06/22/让刚体听我的-applyforce、applyimpulse、setlinearvelocity/
对于大部分游戏来说,允许玩家控制游戏对象,是个非常基本的特性。而到目前为止,在学到的Box2D技巧中,创建了刚体之后,我们只能眼睁睁的看着它自由落体。我想,你肯定迫不及待的想“占有”它了,别急,今天我们就来学习一下,如何让刚体听我们的。
Box2D中控制一个刚体,让它乖乖的听我们的话,有三种方法:ApplyForce、ApplyImpulse和SetLinearVelocity。它们都是b2Body类的公共方法,而且它们都接收一个b2Vec2类型向量参数。关于向量的知识,请参考我之前发的文章"【游戏基础】向量基础".
1.力,循序渐进——ApplyForce
顾名思义,ApplyForce方法会在刚体上施加一个力。学过物理力学的同学都知道,F=ma,有了力F就有了加速度a,有了加速度,物体就会有速度,就会慢慢动起来。(但是不会立马动起来,因为力不会直接影响速度)。
举个简单的例子,小明推一个静止的箱子,箱子不会立马飞出去,而是慢慢的、越来越快的动起来(减速也一样)。
2.速度,叠加——ApplyImpulse
与ApplyForce不同,ApplyImpulse不会产生力,而是直接影响刚体的速度。通过ApplyImpulse方法添加的速度会与刚体原有的速度叠加,产生新的速度。
3.一触即发——SetLinearVelocity
setLinearVelocity与ApplyImpulse一样,直接影响刚体的速度。不一样的是,setLinearVelocity添加的速度会覆盖刚体原有的速度。不过,在SetLinearVelocity方法不会自动唤醒sleeping的刚体,所以在调用该方法之前,记得将刚体body.wakeUp()一下。
在下面的实例的右上角,任意选择其中一种方法,交替按下键盘左右方向键,查看三种方法的区别。
关于三个方法的用法,源代码中已经有详细的备注,我就不再解释了:
源代码下载
- 让刚体听我的——ApplyForce、ApplyImpulse、SetLinearVelocity
- 让刚体听我的-applyforce、applyimpulse、setlinearvelocity
- [Box2D]让刚体听我的——ApplyForce、ApplyImpulse、SetLinearVelocity
- Box2D]让刚体听我的——ApplyForce、ApplyImpulse、SetLinearVelocity
- 【Box2D】刚体的作用ApplyForce、ApplyImpulse、SetLinearVelocity
- box2d -ApplyForce, ApplyImpulse, SetLinearVelocity
- box2d 中,body的三种作用力效果--ApplyForce, ApplyImpulse, SetLinearVelocity
- 【COCOS2DX-BOX2D游戏开发之五】 ApplyForce、ApplyImpulse、SetLinearVelocity
- 让刚体听我的——鼠标拖动Box2D刚体
- Box2D C++ 三种作用力效果 ApplyForce、ApplyLinearImpulse、SetLinearVelocity
- 我和我的小伙伴们一起学Unity3D(五)让角色更鲜活——刚体
- 你听我的倾诉
- 我喜欢听的歌
- 让你的iriver更动听
- 煲机:让耳机的声音更动听!
- 我不是领导,如何让别人听我的话?
- 她来听我的演唱会
- 听《月亮可以代表我的心》
- 1010: [HNOI2008]玩具装箱toy
- IE的IF条件注释
- 1051: [HAOI2006]受欢迎的牛
- POJ 1573 Robot Motion(DFS)
- 看懂了这些图你就看懂了整个世界
- 让刚体听我的-applyforce、applyimpulse、setlinearvelocity
- 2506: calc
- Android基础--浅析Android中的消息机制
- 1600: [Usaco2008 Oct]建造栅栏
- Android HttpClient使用Cookie应用分析
- uva 10755 DP
- 数字图像处理的区域生长算法
- ubuntu 13.10安装ia32-libs
- csdn上传gif图不能添加水印