下面是我的问题。我有一个金花鼠的刚体(苏打可以站起来),我想改变它的到对象的底部重心,因此它可以落在当力被施加到它的上部其侧翼。

我在正确的轨道上?

1)出于某种原因,我无法设定重力的的体的中心到一个特定的值。任何人有一个简单的解决方案,请?

2)什么大约重力的精灵的中心?我需要去改变它呢?如果是的话,如何?

感谢您为澄清。

Yohann吨。

有帮助吗?

解决方案

没关系!

我回答我自己的问题,因为它是16小时前,我必须要找到它在我自己的(是啊,我花了那么长的时间弄清楚,什么是浪费时间)。幸运的是,我要分享的解决方案,这样你就不必花费很多时间搞清楚。

1)出于某种原因,我无法身体的重心设置为特定值。任何人有一个简单的解决方案,请?

答:你不能改变身体的重心,因为在真实的模拟世界,重心是不可修改,unlesss你居然变身的对象! ! !

这样做的方式是不创建体与一个“盒子”的形状。你必须创建一个使用顶点的对象,因此它可以通过任何类型的物理影响,而不仅仅是运动。

这里是我用来创建对象周围的框的代码:

int num = 4;
cpVect verts[] = {
    cpv(-15,-15),
    cpv(-15, 15),
    cpv( 15, 15),
    cpv( 15,-15),
};
body = cpBodyNew(1.0f, cpMomentForPoly(1.0f, num, verts, cpvzero));
body->p = cpv(-280, 240);
cpSpaceAddBody(space, body);
shape = cpPolyShapeNew(body, num, verts, cpvzero);
shape->e = 0.0f; shape->u = 1.5f;
shape->collision_type = 1;
cpSpaceAddShape(space, shape);

2)关于重力的精灵的中心什么?我需要去改变它呢?如果是的话,如何?

使用此方法:

[sprite setTransformAnchor:ccp(27,54)];

但请记住,坐标开始于屏幕的左下角。但是你不会有,如果你正确处理身体的物理触摸精灵。

现在,祝你好运!

Yohann吨。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top