【发布时间】:2018-03-28 23:13:21
【问题描述】:
我是编码新手,目前正在使用 SFML 制作 C++ 版本的 Frogger。
我希望我的青蛙像这里一样移动:http://froggerclassic.appspot.com/
目前我正在使用 isKeyPressed 移动我的青蛙,它在任何方向上都以平滑的运动移动,而不是按照我的意图从一个位置跳到另一个位置。我应该如何实施?
【问题讨论】:
我是编码新手,目前正在使用 SFML 制作 C++ 版本的 Frogger。
我希望我的青蛙像这里一样移动:http://froggerclassic.appspot.com/
目前我正在使用 isKeyPressed 移动我的青蛙,它在任何方向上都以平滑的运动移动,而不是按照我的意图从一个位置跳到另一个位置。我应该如何实施?
【问题讨论】:
通常有多种解决方案。
您可以使用事件而不是实时输入。这样,您可以在 KeyPressed 事件发生时移动一次,并且在 KeyRelease 事件发生之前不要移动。
或者,您可以为您的按键引入一种冷却。因此,当您第一次检测到按键时,您将青蛙移动 X 量并设置冷却计时器。只要计时器不为零,您就不会移动青蛙。
您可以使用sf::Clock 和sf::Time 作为timet。
【讨论】: