Nape刚体body.align();】的更多相关文章

(转载http://tomyail.com/blog/1065) Body的类型: BodyType.DYNAMIC(默认):用来模拟现实世界的刚体,拥有质量并且一旦加入Nape的空间(Space)里便会自动受到各种力的作用 BodyType.STATIC:不受各种力的作用(设置其force属性会报错) BodyType.KINEMATIC:特征和静态刚体(STATIC Body)一样,但是可以设置其velocity属性来改变速度 Body不是简单的质点,所有的Body都是有形状和体积的,默认情…
"不动"刚体,这里指的是以下两类刚体: 1.刚体的allowMovement和allowRotation都设false的刚体 2.KINEMATIC类型的刚体 如下代码,测试发现输出面板没有内容输出,侦听不到两者的碰撞. package { import nape.callbacks.CbEvent; import nape.callbacks.CbType; import nape.callbacks.InteractionCallback; import nape.callback…
Nape中的MarchingSquares类很简单,只有一个静态函数run,不过这对绘制那些简单的形状来说,已经足够了(当然MarchingSquares能做的不只这些).下面是这个run方法的结构: run(iso:IsoFunctionDef, bounds:AABB, cellsize:Vec2, quality:Int = 2, subgrid:Vec2 = null, combine:Bool = true, output:GeomPolyList = null):GeomPolyLi…
在Nape中增加一个回调大致分为三步 1:定义一些标签,并根据需求为不同的Interactor打上不同的标签 2:定义一个监听器,这个监听器定义了哪些标签触发了哪种行为之后做何种回调 3:为Space注册对应的监听 Nape定义的四种Listener 一.BodyListener:针对单个刚体状态的监听器 new(event:CbEvent, options:Null<Dynamic>, handler:BodyCallback -> Void, precedence:Int = 0)…
(转载http://tomyail.com/blog/1123) 说明: Filter只是Shape的属性,Nape为Interactor类提供了group属性,这个属性是一个InteractionGroup类型.Shape,Body和Compound都是Interactor的子类,所以它们都能使用InteractionGroup的一些特性. 过滤规则: 把需要一起控制的对象指向同一个group,并且改变这个group的ignore(布尔值)属性来控制这些对象是否需要交互,true是不交互,fa…
package { import nape.phys.Body; import nape.shape.Shape; import nape.shape.Circle; import flash.display.MovieClip; import flash.utils.getDefinitionByName; import nape.callbacks.CbType; import nape.callbacks.PreListener; import nape.callbacks.Interac…
做了一个碰撞的小Demo,用一个球去撞击一堵墙,结果在球和墙都设置了刚体和碰撞体的情况下,球穿过了墙.移动球的位置,球有时能穿过墙,有时会被墙阻挡. 对于球穿过了墙,这个问题,在网上找了一下答案,基本可以确定原因是:球的速度过快,碰撞检测设置了离散检测,即相隔一段比较长的时间检测一次碰撞是否发生,而在这个比较长的时间内,球和墙确实发生了碰撞,只是没有检测到:移动球的位置时,球相对墙的距离改变,也就改变了检测的时间点,所以有时候能穿过墙,有时候会被阻挡. 解决方法:1.增大碰撞体积,即修改碰撞体C…
<img src=...  align=absmiddle />…
按照需求,由于要模拟丧尸被击中的效果,不能使用CharactorControll组件,只能使用rigidbody组件. 首先在场景上摆好僵尸和相机的位置,这里就不给相机加脚本了,直接固定住. 然后给丧尸加上了胶囊型的碰撞盒,用来检测鼠标的点击,当然刚体组件是不可少的. 随后就是控制丧尸的脚本,由于题目需求,将注释全部用英文写了,不过应该不难看懂. 首先设定不同的数值并初始化: public float move_speed=10f; public float force_x=0f,force_y…
[线性速度与角速度] PxRigidBody的速度由线性速度和角速度构成, 可以分别通过setLinearVelocity和setAngularVelocity进行设置.需要注意的是, 刚体的角速度总是基于以刚体的质心为原点的坐标系的. 假设刚体的起点和终点分别是pose1和pose2, 运动时间为t,则速度计算公式如下: 线性速度 lv = (pose2.p - pose1.p) / t 变换四元数 d = pose2.q * pose1.q.getConjugate -> 轴对(angle,…