代码之家  ›  专栏  ›  技术社区  ›  Sam

C++SFML青蛙精灵运动

  •  0
  • Sam  · 技术社区  · 7 年前

    我对编码很陌生,目前正在使用SFML制作一个C++版本的Frogger。

    我想让我的青蛙像这里一样移动: http://froggerclassic.appspot.com/

    目前,我正在使用isKeyPressed来移动我的青蛙,它正在以平滑的运动向任何方向移动,而不是按照我的意愿从一个位置跳到另一个位置。我应该如何实施这一点?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Lukas    7 年前

    通常有多种解决方案。

    您可以使用事件而不是实时输入。这样,您可以在按键事件发生时移动一次,直到按键释放事件发生时才移动。

    或者,您可以为密钥引入一种冷却方式。因此,当您第一次检测到按键时,您可以将青蛙移动X个数量,并设置冷却计时器。只要计时器不为零,你就不能移动青蛙。 作为timet,您可以使用 sf::Clock 和a sf::Time