我希望模拟我的Android游戏的跳转,但我不知道如何正确实现这一点。我一直在查找速度,但我无法将其翻译为自己编码。寻找一些演示代码来实现这一目标。
当前高度变量称为: centerY ,它具有 427 作为默认值。跳转时,必须转到 360 ,然后返回 427 。
提前致谢!
答案 0 :(得分:1)
为了简化事情我会假设跳跃会立即加速玩家。这是一些非常基本的伪代码,用于表示事物应该如何工作。请注意,除了简单的高度检查之外,您还需要找出一种更好的方法来处理地面碰撞。
G := 9.8 or something other appropriate constant
defaultY := 427;
player {
var centerY
var velocityY
update(dt) {
if (centerY < defaultY)
velocityY += G * dt
centerY += velocityY
else
velocityY := 0
centerY := defaultY
}
jump() {
dh := 427 - 360
velocityY := -sqrt(2 * G * dh)
}
}
在此方案中,您将在每个帧上调用player.update
,为其提供从最后一帧开始经过的时间。请注意,速度是从第二个运动方程计算的:
你应该知道的。
答案 1 :(得分:0)
427 - 360 = 67 所以,你的物体需要跳67点。
但是,当然你需要重力和垂直速度变量 所以,你要告诉重力变量的值是什么