【问题标题】:How to make one loop animation in monogame(xna)?如何在monogame(xna)中制作一个循环动画?
【发布时间】:2018-04-15 09:09:27
【问题描述】:

动画类的更新方法:

    public void Update(GameTime gameTime)
    {
        Timer += gameTime.ElapsedGameTime.Milliseconds;
        if (Timer > FrameTime){
            CurrentFrame++;
            if (CurrentFrame == TotalFrames)
            {
                CurrentFrame = 0;
                Done = true;
            }
            Timer = 0;
        }
    }

如何修改这段代码来制作动画单循环?

【问题讨论】:

  • 如果Done 等于 false,只需添加到第一个 if 语句。

标签: c# .net animation xna monogame


【解决方案1】:

您将 Done 设置为 true,这很好,但您忘记使用该变量再次检查。
因此,如果Done 为假,则应在第一个 if 语句中添加一个:

if (Timer > FrameTime && Done == false) {

【讨论】:

  • 这是中断动画。我需要在前一个键按下并且当前键向上(按键)播放动画一次的情况下,移动我按住必要的键并且动画变成循环。
  • 啊,您也使用相同的方法来循环动画。那是行不通的,您需要用 2 种方法将单循环动画和循环动画分开。 (要么这样,要么你需要传递一个参数来定义单循环和多循环之间的区别)
  • 你能给我一些建议吗?因为我花了很多时间,没有找到任何有用的信息。
  • 我找到了解决方案,不需要更改动画类更新逻辑只需要修复角色类中的逻辑。
  • 很高兴听到它对您有用。您可以通过选中我的答案左侧的复选框将此问题标记为已解决。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-05
  • 2021-12-29
  • 2013-02-27
  • 2020-10-16
  • 1970-01-01
  • 2018-03-14
  • 1970-01-01
相关资源
最近更新 更多