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);
}