花栗鼠碰撞太软 [英] chipmunk collision too soft

查看:112
本文介绍了花栗鼠碰撞太软的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是cocos2d的物理学新手.我正在使用花栗鼠,当两个物体碰撞时,它只是柔软",就像它们是用海绵或橡胶制成的一样.

I'm new to physics in cocos2d. I'm using chipmunk, and when two object collide, its just to "soft", like they where made of sponge or rubber.

我的代码:

cpInitChipmunk();  
space = cpSpaceNew();  
space->gravity = cpv(0, 0);  
schedule(schedule_selector(HelloWorld::step), 1.0f/60.f);
astroBody = cpBodyNew(100, INFINITY);  
astroBody->p = cpv(512,384);
cpSpaceAddBody(space, astroBody);
int num2 = 8;
cpVect vertsAstro[] =  {
    cpv(-17.0f, -44.9f),
    cpv(-29.5f, -33.2f),
    cpv(-32.9f, -13.1f),
    cpv(-24.0f, 11.7f),
    cpv(24.6f, 11.5f),
    cpv(32.9f, -12.9f),
    cpv(29.3f, -33.1f),
    cpv(17.0f, -44.7f)
};
astroShape = cpPolyShapeNew(astroBody, num2, vertsAstro, cpv(0,0));
astroShape->e = 0.0f;
astroShape->u = 0.0f;
astroShape->collision_type = 0; 
astroShape->data = player;
cpSpaceAddShape(space, astroShape);

cpBody *box = cpBodyNew(INFINITY, INFINITY);  
box->p = cpv(z->getPosition().x+32, z->getPosition().y+32); 
int num = 5;
cpVect verts[] = {
    cpv(-32, -32),
    cpv(-32, 32),
    cpv(32, 32),
    cpv(32, -32),
    cpv(-32, -32)
};
cpShape *boxShape = cpPolyShapeNew(box, num, verts, cpv(0,0));
boxShape->e = 0.0f;
boxShape->u = 0.0f;
boxShape->collision_type = 1;  
boxShape->data = z;
cpSpaceAddStaticShape(space, boxShape);

因此这些对象正在碰撞,并且太柔软了.我能以某种方式看起来像是两块石头互相撞击吗?

So these objects are colliding, and it is too soft. Can I make it somehow to look like two stones hit each other?

推荐答案

您必须使用Chipmunk5.您需要直接设置字段,例如shape-> e = 1.0.

You must be using Chipmunk 5. You need to set the fields directly such as shape->e = 1.0.

getter/setter函数是Chipmunk 6的一部分.您仍然可以直接设置字段,但建议不要这样做,因为setter函数会在更改值时自动唤醒对象.

The getter/setter functions are part of Chipmunk 6. You can still set the fields directly, but it's recommended not to as the setter functions will automatically wake up objects when changing values.

这篇关于花栗鼠碰撞太软的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆