当前位置: 首页 > 面试题库 >

按下按键时逐渐加速精灵;在释放键时逐渐减速

田嘉澍
2023-03-14
问题内容

我一直在尝试找出如何 逐渐 加速按下键时的精灵,然后一旦释放键,就逐渐减速直至停止,就像 小行星上
的飞船一样。如果可能,我想在没有任何游戏引擎的情况下执行此操作。我搜索了所以这个时候,发现相关的问题,但他们并没有回答我的问题 恰好 在我看来。

到目前为止,我想到的是:

//while the key is being pressed
//move by increasing y value
//but continue to increase the amount y increases by as you hold this down,
//until it reaches certain maxSpeed
//when the key is released, gradually decelerate to zero

我只是不确定如何正确地编程,因为我只能想到以相同的值增加而在持有时不会逐渐加速的方法。

所以这是我的目标( 逐渐加快然后逐渐放慢速度)

我是一个初学者,乐于接受所有想法,但是我可能无法正确解决此问题的事实可能是因为我对别人的了解不多


问题答案:

前面的问题几乎涵盖了该主题,但是如果您想要完美,还需要注意一件事:不均匀的时间片,即持续时间不同的滴答声。

通常,您的tick()方法应接受当前时间和最后一次滴答的持续时间作为参数。(如果没有,那么您需要通过查询当前时间并记住最后一次滴答发生的时间来计算最后一次滴答的持续时间,以便可以从另一个中减去一个。)

因此,在每个刻度上,您都不应简单地将当前速度添加到您的头寸中。您应该在每个刻度上执行的操作是将当前速度乘以最后一个刻度的持续时间乘以您的位置。

这样,如果一个滴答声发生得非常快,而另一个滴答声需要很长时间才能完成,那么您的飞船的运动仍将是均匀的。



 类似资料:
  • 问题内容: 我试图在按下按钮时逐渐提高精灵速度,而不是仅移动恒定速度。同时设置最大速度限制。我希望你明白我的意思。 问题答案: 您的示例代码有很多(最初)错误。 您正在覆盖该方法。建议您改写该方法。如果您要覆盖顶级容器(如)的方法,则建议您不要这样做。相反,使用类似的东西作为自定义绘画的基础… 您正在处理过去的上下文。这是非常危险的,因为这样可以防止其他东西被涂上。该上下文是一个共享资源,一切都需

  • 快速开发工具类,用最简洁的命令实现想要的功能。辅助模拟开发。 纯Java,跨平台,模拟按键、鼠标点击、找图、找色,实现简单按键精灵的功能 DEMO演示  辅助开发配套工具:ScreenCapture.jar:  将指定文字发音读出: new TTSUtil().speak("这是要读出的文字内容"); 发送一条短信     SendPhoneMsgUtil.send("13011658091", 

  • 在可能的范围内,我减少了在这个周期中创建和销毁的对象的数量和大小。这基本上耗尽了我解决这类问题的工具包! 任何关于我如何理解和纠正性能逐渐下降的建议将非常感谢!

  • 问题内容: 目前,每次按键时,精灵仅移动1个像素。按住左右键时,如何使水暖工精灵不断移动? 问题答案: 您可以使用pygame.key.get_pressed来做到这一点。 例:

  • 我创建了一个程序,创建一个正方形并将其绘制在JPanel上。还有控制正方形运动的键绑定(w为上)(s为下)(a为左)(d为右)。我的问题是,当我按下键时,它会移动一个实例,犹豫,然后继续移动。有没有办法防止运动的犹豫。 这是我的面板类。 任何帮助都将不胜感激。非常感谢。

  • 现在对于凉了,逐渐非常淡然,慧策二面今天早上发了感谢信 虽然面的蛮不错,但是之前有招联我笔试满,面试全回答上还挂的经历后,现在全部都算不了什么 本身就是一个双向选择的过程,海投的情况下,一个个公司都会过分预估自己公司的实力和知名度 面试基本都是实际场景题 ( 不像美团那样注重一个思考的深度的,对于应届生纯粹求一个解决方案纯纯流氓 吐槽完毕,然后希望大家能够秋招收到更多的offer,这些公司不要一个