c# - 如何实现类似于Alto Adventure的2D跳跃?
问题描述
我已经通过改变变换和应用速度来实现,但没有得到那种平滑度。
// In Update
if (Input.GetKeyDown("space"))
{
isJumping = true;
StartCoroutine(Jump());
isJumping = false;
}
IEnumerator Jump()
{
if (IsGrounded())
{
isJumping = true;
player.gravityScale = gravityDuringJump;
player.velocity = new Vector2(jumpSpeedInX, jumpSpeedInY);
}
yield return new WaitUntil(() => IsGrounded() == false);
isJumping = false;
}
解决方案
推荐阅读
- python - 使用 Windows 命令提示符或 PowerShell 在 Spyder 中运行脚本
- java - Hibernate 具有不同键类型的一对一映射
- javascript - C# 和 javascript 之间的 ECDH
- dataframe - 在 Julia 1 中将缺失转换为数值
- javascript - 如何将 JQuery 的 appendTo 方法与一长串元素一起使用,其中包含单引号/双引号的组合
- oracle - 使用 ColdFusion 11 / Oracle 12c 生成 Hibernate 配置时出错
- javascript - Javascript复制无重复对象数据,具有与数组相同的属性
- java - Libgdx 设置随机位置
- css - 如何将图像视图保持在同一个位置,但图像本身在不同的位置。反应原生
- wordpress - WP REST API - 无需身份验证的用户注册