下面的图片显示了玩家的负面生活....因为在路上与障碍物交叉...我希望解决方案只能在交叉后减少一点生命。
if (Texture.playerrect.Intersects(Texture.mirchirect) || Texture.playerrect.Intersects(Texture.crabrect) || Texture.playerrect.Intersects(Texture.stonerect) || Texture.playerrect.Intersects(Texture.cactusrect))
{
die = true;
currentframe = 19;
}
else { die = false; }
if (die)
{
life -= 1;
}
答案 0 :(得分:2)
也许是因为代码每秒更新60帧die == true
,然后对象的生命周期每秒减少60,而不是1。
答案 1 :(得分:1)
可能的方式......向障碍物添加一个bollean变量PlayerHitted
,如果life -= 1
为假(默认情况下),则更新PlayerHitted
时发生碰撞设置为PlayerHitted
为真。
如果障碍物击中了玩家,那么障碍物就会有信息
答案 2 :(得分:0)
if (Texture.playerrect.Intersects(Texture.mirchirect) || Texture.playerrect.Intersects(Texture.crabrect) || Texture.playerrect.Intersects(Texture.stonerect) || Texture.playerrect.Intersects(Texture.cactusrect))
{
die = true;
currentframe = 19;
if (!Update)
{
life--;
Update = true;
}
}
else { die = false; Update = false; }