【问题标题】:libGDX - How to speed up scenario?libGDX - 如何加速场景?
【发布时间】:2014-03-06 14:39:35
【问题描述】:

我正在开发一个 Android 游戏,在 Eclipse 中使用 libGDX。每当玩家得分 10 分时,我想加快我的场景(跑步机)。跑步机初始速度为0,每10分得5分。当角色掉出屏幕时,玩家输掉游戏。有人知道怎么做吗?

【问题讨论】:

  • 有很多方法可以做到这一点,因为你的问题太宽泛了,无法回答。您将必须有一个表示速度的变量,并在适当的时候增加它。如果遇到困难,请发帖 MCVE 并提出具体问题。
  • 在问题结束之前:将 render() 方法中的 deltaTime 乘以某个值。
  • 我想知道的是如何加速跑步机动画,具体来说。以及如何让我的角色与跑步机动画一起从屏幕上掉下来?我的跑步机和我的角色一起加速,但我猜是以不同的方式。

标签: java android libgdx


【解决方案1】:

我想你用Animation 实现了treadmill 动画。先来看看this tutorial。您会注意到float stateTimenew Animation(0.025f, walkFrames); 中的第一个参数。 stateTime 描述了您当前的时间。 Animation 的第一个参数描述了帧的持续时间。如果stateTime 大于frameDuration,则将绘制Animation 的下一个Texture/Sprite。 你不能改变这个float frameDuration,你只能在构造函数中设置它。但是你可以设置stateTime。通常你使用stateTime += delta,所以你有准确的时间。要加快/减慢速度,您可以将其与float speed 相乘:

stateTime += delta * speed;
  1. 对于speed < 0,一帧需要更长的时间,所以Animation 更慢。
  2. 对于speed == 0Animation 具有正常速度。
  3. 对于speed > 0Animation 更快。

如果你死了,只需将 speed 重置为 0,这样 treadmill 就不会被动画化,因为 statetime 永远不会改变:stateTime + (delta * 0) = stateTime

【讨论】:

  • 下次至少添加正确的wiki而不是旧的wiki
  • 不知道这是旧的。我只是在找一个教程,这个对我来说很好。所以我发布了这个链接。但是感谢您提供的信息:P 大多数时候我首先找到旧的 wiki,并且教程几乎相同
  • 所以你没有在你添加的页面顶部看到他们迁移到 Git 的重大通知......
  • 是的,我知道,他们搬到了 Git。但我并没有真正看我所在的页面。我只是在寻找一个代码示例,因为我忘记了你是如何创建Animations 的。我找到了本教程,查看了代码,这或多或少是我正在寻找的代码。我认为这不再起作用了,并且有一个通知,所以有兴趣的每个人也会找到新的 wiki。但无论如何感谢编辑它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-29
  • 1970-01-01
  • 2015-04-25
  • 2023-03-18
  • 2014-10-17
相关资源
最近更新 更多