Monogame - 如何使我的 if 语句循环?
Monogame - How do I make my if statement loop?
这个问题的标题可能听起来很愚蠢,但请先阅读整个问题,是的,我知道 所有 类型的循环并且我能够编程时使用完美无缺
我正在构建一个 2D 游戏,当我的 player
与尖刺碰撞时,我希望另一个角色慢慢行走(这很难解释,但这并不重要),但是这里是它的代码:
if (player.Bounds.Intersects(anneTrigger.Bounds))
{
Anne.UpdateForAnne(gameTime);
Anne.LoadHumanContent(Content);
}
简单解释一下代码,条件检查 player
是否与 anneTrigger
尖峰发生碰撞,然后调用 Anne.UpdateForAnne(gameTime)
和 Anne.LoadHumanContent(Content)
,为角色设置动画并让角色行走,这正是我想要的,而且效果很好非常好。
有什么问题?
问题是,这只在 player
在尖刺上时有效,一旦我的 player
走过并离开尖刺,另一个角色停止行走,即 不是我想要的。只要玩家已经与尖峰发生碰撞,我就需要它继续。
我曾尝试使用循环而不是 if 语句,但这只会让我的游戏崩溃。我确定我可能必须使用布尔值,但我不太确定如何使用,我之前尝试过但它没有用。
在更新方法之外的 class 中设置一个 bool 变量。
private bool AnneActivated = false;
if (player.Bounds.Intersects(anneTrigger.Bounds))
{
AnneActivated = true;
}
if(AnneActivated)
{
Anne.UpdateForAnne(gameTime);
Anne.LoadHumanContent(Content);
}
这个问题的标题可能听起来很愚蠢,但请先阅读整个问题,是的,我知道 所有 类型的循环并且我能够编程时使用完美无缺
我正在构建一个 2D 游戏,当我的 player
与尖刺碰撞时,我希望另一个角色慢慢行走(这很难解释,但这并不重要),但是这里是它的代码:
if (player.Bounds.Intersects(anneTrigger.Bounds))
{
Anne.UpdateForAnne(gameTime);
Anne.LoadHumanContent(Content);
}
简单解释一下代码,条件检查 player
是否与 anneTrigger
尖峰发生碰撞,然后调用 Anne.UpdateForAnne(gameTime)
和 Anne.LoadHumanContent(Content)
,为角色设置动画并让角色行走,这正是我想要的,而且效果很好非常好。
有什么问题?
问题是,这只在 player
在尖刺上时有效,一旦我的 player
走过并离开尖刺,另一个角色停止行走,即 不是我想要的。只要玩家已经与尖峰发生碰撞,我就需要它继续。
我曾尝试使用循环而不是 if 语句,但这只会让我的游戏崩溃。我确定我可能必须使用布尔值,但我不太确定如何使用,我之前尝试过但它没有用。
在更新方法之外的 class 中设置一个 bool 变量。
private bool AnneActivated = false;
if (player.Bounds.Intersects(anneTrigger.Bounds))
{
AnneActivated = true;
}
if(AnneActivated)
{
Anne.UpdateForAnne(gameTime);
Anne.LoadHumanContent(Content);
}