4
如何在游戏中编写时间停止或项目符号时间?
我正在XNA 4.0中开发单人RPG平台游戏。我想添加一种使时间“停止”或放慢速度的功能,并且仅使玩家角色以原始速度移动(类似于《博德之门》系列中的“时间停止”法术)。我不是在寻找确切的实现,而是一些一般的想法和设计模式。 编辑: 谢谢大家的巨大投入。我想出了以下解决方案 public void Update(GameTime gameTime) { GameTime newGameTime = new GameTime(gameTime.TotalGameTime, new TimeSpan(gameTime.ElapsedGameTime.Ticks / DESIRED_TIME_MODIFIER)); gameTime = newGameTime; 或类似的东西。这样,我可以为播放器组件设置不同的时间,而为其余组件设置不同的时间。当然,对于像这样的翘曲时间将是关键因素的游戏来说,它还不够通用。但是我希望它能在这种情况下起作用。我有点不喜欢它会乱扔主Update循环这一事实,但是它无疑是实现它的最简单方法。我想这与tesselode建议的基本相同,所以我要给他绿色的勾号:)
11
xna
time-travel