iPhone的cocos2d的花栗鼠 - 重心
-
21-09-2019 - |
题
下面是我的问题。我有一个金花鼠的刚体(苏打可以站起来),我想改变它的到对象的底部重心,因此它可以落在当力被施加到它的上部其侧翼。
我在正确的轨道上?
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吨。
不隶属于 StackOverflow