Visual studio 2010 精灵在切换到特定游戏状态后会随着时间的推移而减速

Visual studio 2010 精灵在切换到特定游戏状态后会随着时间的推移而减速,visual-studio-2010,xna-4.0,Visual Studio 2010,Xna 4.0,我对我的精灵如何移动有一个非常奇怪的问题。在我的RPG游戏中,每当我从探索游戏状态切换到战斗游戏状态时,我的主要角色在速度和动画方面都会逐渐变慢。然而,敌人继承自同一个名为Sprite的抽象类,该类处理Sprite绘制,它们仍将以正常速度移动。当切换到探索状态到暂停状态时,这与从探索到战斗的转换方式相同,游戏不会减速。游戏在战斗状态下不会减速 位置是使用此参数计算的 位置+=方向*速度*(浮动)GameTime.ElapsedGameTime.TotalSeconds 英雄的速度是恒定的 速度=

我对我的精灵如何移动有一个非常奇怪的问题。在我的RPG游戏中,每当我从探索游戏状态切换到战斗游戏状态时,我的主要角色在速度和动画方面都会逐渐变慢。然而,敌人继承自同一个名为Sprite的抽象类,该类处理Sprite绘制,它们仍将以正常速度移动。当切换到探索状态到暂停状态时,这与从探索到战斗的转换方式相同,游戏不会减速。游戏在战斗状态下不会减速

位置是使用此参数计算的 位置+=方向*速度*(浮动)GameTime.ElapsedGameTime.TotalSeconds

英雄的速度是恒定的 速度=80

如果需要,我可以发布更多代码或解释更多内容。

发现问题


原来我的队友给每个敌人都打了英雄玩家的更新电话。因此,对于屏幕上的每一个敌人,它都会调用英雄的位置更新功能并增加它。因此,当敌人被移除时,玩家移动得更慢。太傻了-_-

如果你从不从战斗切换到探索,而是从一开始就一直在探索(假设这是有意义的。如果没有深入的理解,很难进行数字化)。此外,如果你切换回战斗,它是“停止减速”还是恢复原始速度?听起来像是在分配资源时没有突然释放;穿越一个需要经常修剪或清理的不断增长的结构。