3月19日
今天整一个系列,完成移动的总结
包括:
左右移动,跳跃,二段跳
进一步尝试:
滑墙,冲刺,
首先是常规的移动和跳跃
void Update()
{
float x = Input.GetAxis("Horizontal");
float y = Input.GetAxis("Vertical");
Vector2 dir = new Vector2(x, y);
move(dir);
if (Input.GetKeyDown(KeyCode.Space))
{
jump();
}
}
private void move(Vector2 dir)
{
rb.velocity = (new Vector2(dir.x * speed, rb.velocity.y));
}
private void jump()
{
rb.velocity = new Vector2(rb.velocity.x, 0);
rb.velocity += Vector2.up * jumpForce;
}
然后,想要实现根据按键时间长短,来控制跳跃高度,查看了一个github案例,采用添加了一个跳跃优化脚本
void Update()
{
if (rb.velocity.y < 0)
{
rb.velocity += Vector2.up * Physics2D.gravity.y * (fallMultiplier - 1) * Time.deltaTime;
}
else if (rb.velocity.y > 0 && !Input.GetKeyDown(KeyCode

这篇博客记录了作者在Unity中实现角色移动、跳跃、二段跳以及遇到的碰撞问题。通过调整跳跃脚本和重力参数解决了角色陷入地面的问题。此外,为防止角色无限飞行,作者引入了跳跃计数器。最后,讨论了冲刺和滑墙功能的实现,目前尚在解决持续滑墙的问题。
最低0.47元/天 解锁文章
36万+

被折叠的 条评论
为什么被折叠?



