我正在开发一个简单的游戏,就像一个碎砖游戏。
现在撞到砖头上,玩家应该会反弹,效果很好。但是在与硬币碰撞时,玩家不应该反弹,硬币应该消失。
为此,我尝试了硬币的负恢复&修改后的b2MixRestitution如下:
/// 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中对身体进行负恢复吗?
我只想知道,对于像硬币(静态)和玩家(动态)这样的两个物体来说,这是否可能发生碰撞,动态物体在碰撞后不会反弹。
我能这么做吗?
发布于 2013-01-03 18:24:59
我觉得你不应该用Box2d body来做硬币。仅使用精灵。使用一些算法来检测玩家和硬币之间的碰撞。
例如,您可以比较与玩家身体相关联的精灵和硬币精灵的位置。
发布于 2013-10-27 20:46:11
你应该将硬币的夹具设置为传感器/
https://stackoverflow.com/questions/14136788
复制相似问题