框2d同时检查多次碰撞

时间:2014-03-01 21:51:39

标签: c++ sfml

我目前正在使用sfml和box 2d工作在2d无尽的跑步者,其中我的玩家身体包括2个固定装置,一个用于主体,一个传感器用于检查它是否接地。玩家可以站立和跳跃的障碍游戏也是如此。想要做的是在主体固定装置接触障碍物而不是其他地面固定装置时杀死玩家,因为当玩家站在障碍物上时会发生这种情况..有没有办法实现这样的条件,还是有任何解决方法,如何在与障碍物碰撞时杀死玩家? 所有灯具都有单独的int标签作为用户数据ex-每个障碍物的int标签为5,播放器地面传感器的int标签为4。

1 个答案:

答案 0 :(得分:0)

首先,声明一个名为playerHealth的整数。将其设置为您希望的最大值。然后,编写一个if语句,检查角色是否与障碍物发生碰撞。如果是,请写playerHealth--;。如果要删除所有运行状况,只需编写执行此操作的if staement:playerHealth = 0;。你如何选择通过屏幕切换到游戏取决于你。

修改 要创建碰撞,只需执行以下操作:

if (playerHealth.intersects(obstacle))
{
    playerHealth = 0; // Game over!
}