我想在space中添加多个静态刚体。
具体就是,我想使用PhysocsSprite,构造一些不受重力影响的精灵,首先想到的就是使用staticBody,让物理精灵的body使用staticBody。
当然有什么其他的好办法也行,只要精灵不受重力影响。
为什么有人浏览却没有人回复啊………………
手动上浮一下~~~~~~~~~~~~~~~~~
请先把自己的语言理顺,把问题清晰的表达出来。
我想实现一个物理世界,上面有很多的静态刚体(不受重力影响,但是有体积,有碰撞)。如何实现?
我觉得我说的十分清楚
你把重力设为0 不就行了吗?
我设置质量为0,然后报错了,说必须mass>0.0
createPhysicsSprite:function(){
var body = new cp.Body(0, cp.momentForBox(0, 50, 50));
body.setPos(cp.v(100,200));
this.space.addBody(body);
var shape = new cp.BoxShape(body,50,50);
// shape.setElasticity(0.5);
// shape.setFriction(0.5);
this.space.addShape(shape);
var sprite = new cc.PhysicsSprite(res.block);
sprite.setBody( body );
return sprite;
},
Aborting due to Chipmunk error: Mass must be positive and non-zero.
Failed condition: mass > 0.0f
Source:Z:\MyWork\cocos2d-x-develop\external\chipmunk\src\cpBody.c:140
我需要有重力的,还有其他需要重力的精灵。所以gravity不能设为0
静态刚体本来就不受重力影响
但是我无法向空间中添加静态刚体。求助啊。
我如果向space中添加静态刚体就会报错
Aborting due to Chipmunk error: Do not add static bodies to a space. Static bodies do not move and should not be simulated.
Failed condition: !cpBodyIsStatic(body)
Source:Z:\MyWork\cocos2d-x-develop\external\chipmunk\src\cpSpace.c:296
var body = new cp.StaticBody();
body.setPos(cc.p(x, y));
sprite.setBody(body);
thx very much,good boy.
原来有cp.StaticBody();这种东西。
什么版本啊?你用StaticBody不报错啊?
给你需要不受重力的物体一个与他所受重力相反的力,物理方法,力的平衡
shape可以直接获取body啊
var body= new cp.StaticBody(1, cp.momentForBox(0, 50, 50));
创建 静态刚体 不需要设置 重力 摩擦 移动 …