我仍在学习基础知识,所以请稍微温柔。我正在研究滚动游戏的动作脚本。我的滚动效果非常好,但现在我试图增加跳跃的能力。让玩家在Unity3D中正确跳转
在我的情况下,“玩家”是一个基本的球体。我试图完成的是当空间被按下时,球沿着它当前滚动的方向跳入空中。
这是我尝试过自己,但给出了非常奇怪的结果:
float moveHorizontal = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis("Vertical");
Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
if (Input.GetKey("space"))
{
transform.position += transform.up * 20 * Time.deltaTime;
}
rb.AddForce(movement * speed); //rb = RigidBody
这导致球有时会在错误的方向跳跃或只是简单地加速到某个方向不跳的。所以显然我越来越近了,但还没有完成。任何人都可以解释我做错了什么,以及如何解决它?
不寻找快速修复!不要从中学到任何东西。
这似乎工作得很好。谢谢。但是,你能解释为什么我的解决方案不起作用吗?我试图理解我在做什么,而不是盲目地复制/粘贴。 – icecub
太棒了。我想我可以用这个工作。再次感谢! :)顺便说一句:我确实设法通过互联网使它成为多人游戏。 Ppl可以加入他们自己的球并开始滚动xDD – icecub
好东西,我已经拿出了评论,并将它们包含在我的回答中:) – Tom