首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Box2d中防止碰撞后的反弹?

如何在Box2d中防止碰撞后的反弹?
EN

Stack Overflow用户
提问于 2013-01-03 18:14:34
回答 2查看 518关注 0票数 0

我正在开发一个简单的游戏,就像一个碎砖游戏。

现在撞到砖头上,玩家应该会反弹,效果很好。但是在与硬币碰撞时,玩家不应该反弹,硬币应该消失。

为此,我尝试了硬币的负恢复&修改后的b2MixRestitution如下:

代码语言:javascript
复制
/// Restitution mixing law. Feel free to customize this.
inline float32 b2MixRestitution(float32 restitution1, float32 restitution2)
{
    //return restitution1 > restitution2 ? restitution1 : restitution2;

    float mixRest = 0.0f;
    if(restitution1 > 0.0f && restitution2 > 0.0f)
        mixRest = (restitution1>restitution2)?restitution1:restitution2;
    else
        mixRest = (restitution1<restitution2)?restitution1:restitution2;

    return mixRest;
}

但是球员的篮板还是很自然的。

对于硬币,返回率为-1.00f。对于玩家,恢复值为0.50f。

这有可能在Box2d中对身体进行负恢复吗?

我只想知道,对于像硬币(静态)和玩家(动态)这样的两个物体来说,这是否可能发生碰撞,动态物体在碰撞后不会反弹。

我能这么做吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-03 18:24:59

我觉得你不应该用Box2d body来做硬币。仅使用精灵。使用一些算法来检测玩家和硬币之间的碰撞。

例如,您可以比较与玩家身体相关联的精灵和硬币精灵的位置。

票数 0
EN

Stack Overflow用户

发布于 2013-10-27 20:46:11

你应该将硬币的夹具设置为传感器/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14136788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档