一个计时器应该是什么样子,它以秒为单位的运行时间作为参数,并在整个运行周期中提供流畅的动画?

问题描述 投票:0回答:0

我正在做一个小项目,涉及几个行星在轨道上的运动。

[![在此处输入图片描述][1]][1]

程序还会计算实际的“飞行时间”。我有计算所需“飞行时间”的代码,但我无法为其创建计时器。

我在这个网站上看了几个关于计时器的答案,但没有一个对我有帮助,因为我的任务是特定的:

通过改变弧度来改变行星的位置:

            fobosP.Radians += 0.03f;
            shipP.center = fobosP.position - new Vector2(5, 8);
            deymosP.Radians += 0.04f;
            shipP.Radians -= 0.05f;

这段代码现在在 Update 方法中并且一直在运行。但我希望行星在按下按钮后仅移动 N 秒,其中 N 是相同的“飞行时间”。

问题是我试过的所有计时器都给出了三个选项之一:

  1. 根本不工作
  2. 立即移动行星,同时我试图实现流畅的动画,就像在 gif 上一样,但时间有限。
  3. 在无尽的飞行中发射行星。

请帮助:计时器应该如何以秒为单位的运行时间作为参数并在整个运行周期中提供流畅的动画? [1]: https://i.stack.imgur.com/GMgKE.gif

c# timer xna monogame
© www.soinside.com 2019 - 2024. All rights reserved.