我一直在使用XNA进行简单的平台游戏.我在制定一个好的跳跃算法时遇到了一些麻烦.在摆脱了跳跃算法的凌乱半完成版本后,我剩下的就是.
if (keystate.IsKeyDown(Keys.W))
{
spritePosition.Y = spritePosition.Y - 10;
}
Run Code Online (Sandbox Code Playgroud)
我意识到这是一个非常简单的开始,但任何提示都会很棒.我是一名自学成才的程序员,因此我可能会遗漏一些术语,我倾向于将实际代码看作是最好的学习方法.谢谢.
当您(物理上)跳跃时,您将向Y速度向量添加一个量,而不是向您的位置向量添加量.将您的位置移动10意味着您只需向上传送10个刻度.
尝试调整速度,然后让主循环改变位置.并记住从重力向下加速!
编辑:从下面的评论添加链接到物理教程. rodedev.com/tutorials/gamephysics