Nape教程创建简单的Nape刚体.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Nape教程创建简单的Nape刚体

在认识Nape空间里,看我们了解了这个2D物理引擎,并学习了如何创建一个基本的Nape应用,今天我们来学习一下如何创建一些简单的Nape刚体。 运动与静止的刚体 和Box2D一样,Nape中的也分为静止和运动刚体,对应静止的刚体将不进行物理运动模拟,这样可以节省CPU的开支。我们可以通过刚体的type属性设置刚体的类型,这个属性值可以是DYNAMIC、STATIC或KINEMATIC,分别表示运动的、静止的和不受力作用但可以运动的静态刚体。 var body:Body = new Body(BodyType.DYNAMIC,new Vec2(bx,by)); 复制代码 设置刚体的形状 Nape刚体的形状是通过body.shape属性来设置的,和Box2D不一样,这个shape属性是一个shapeList类对象,也就是说,我们无法直接给shape属性赋值,而是要通过body.shape.addShape()方法来添加刚体形状。 addShape()方法有一个Shape类型的参数,实际上我们通常都是使用Shape类的子类Circle和Polygon来设置刚体的形状,Shape类只有两个子类,但不代码刚体就只有两个形状。具体说明如下: Circle类 Circle用来创建一个圆形对象。构造函数和相应的参数说明如下: function Circle( ? ?? ?? ?? ?? ?? ?? ?? ?radius:Float,? ? ?? ?? ?? ?? ?? ?? ?? ?localCOM:Vec2,? ? ?? ?? ?? ?? ?? ?? ?? ?material:Material,? ? ?? ?? ?? ?? ?? ?? ?? ?filter:InteractionFilter ? ?? ?? ?? ?? ? ) 复制代码 radius:圆形的半径,以像素为单位 localCOM:圆形的重心,即质量的中心,默认为(0,0) material:圆形的材质,比如弹性、摩擦系数等,都通过material属性设置,相当于Box2D里的b2FixtureDef,默认为null。以后我会再详细介绍material的用方法 filter:设置刚体的碰撞分组,相当于Box2D中的FilterData Polygon类 Polygon类会根据制定的一组顶点,来创建一个多边形对象。顶点的个数和坐标不同,就可以创建多各种各样的形状。它的构造函数和参数说明如下: ??public function Polygon ( ? ?? ?? ?? ?? ?? ?? ?? ?localVerts:*,? ? ?? ?? ?? ?? ?? ?? ?? ?material:Material = null,? ? ?? ?? ?? ?? ?? ?? ?? ?filter:InteractionFilter = null ? ?? ?? ?? ?? ?? ?? ?? ?); 复制代码 localVerts:表示一个保存了多边形顶点的数组。Polygon中有一些静态方法,如box(),可以帮我们返回一些简单的顶点数组,Polygon.box()也是我们创建矩形刚体常用的方法。 material:多边形的材质,比如弹性、摩擦系数等,都通过material属性设置,相当于Box2D里的b2FixtureDef,默认为null filter:设置刚体的碰撞分组,相当于Box2D中的FilterData 总的来看,Nape刚体的创建过程要比Box2D简单一些,至少不用创建一大堆的b2Shape,b2FixtureDef,b2Fixture,b2BodyDef和b2Body对象,这么多对象,看着都头疼。所以Nape还是很值得学习的哦! 言归正传,认识了Circle和Polygon类之后,我们就可以创建简单的圆形和矩形刚体了(复杂的多边形Nape刚体,稍候我会陆续讲解)。 ??//创建圆形的Nape刚体 ? ?? ?? ?? ?? ? private function createCircle(posX:Number, posY:Number, radius:int, type:BodyType):void ? ?? ?? ?? ?? ? { ? ?? ?? ?? ?? ?? ?? ?? ?//创建刚体,Body有两个参数,一个是指刚体的类型,一个是指刚体的坐标 ? ?? ?? ?? ?? ?? ?? ?? ?var circle:Body = new Body(type, new Vec2(posX, posY)); ? ?? ?? ?? ?? ?? ?? ?? ?//创建刚体形状,刚体形状类型有两种:Circle或Polygon,但不代表刚体形状只有两种,P

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档